大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java學習 Java零基礎自學教程,異常線程

Java零基礎自學教程,異常線程

更新時間:2019-08-19 09:27:46 來源:動力節點 瀏覽2524次

  一異常處理


  程序執行過程中出現異常.異常會導致程序異常終止.


  異常處理是處理運行時的錯誤,以保持正常應用程序流的強大機制.


  異常發生的幾個主要原因:


  ●用戶輸入了非法數據


  ●要打開的文件不存在


  ●網絡通信時連接中斷,或者JVM(java虛擬機)內存溢出


  異常有的是因為用戶錯誤引起的,有的是程序錯誤或物理錯誤引起的,但是,一個寫得好的程序應該處理所有可能的異常情況.


  可以使用try和catch關鍵字來捕獲異常.try/catch代碼塊放在異常可能發生的地方.try/catch代碼塊中的代碼稱為代碼保護.


  try{


  //程序代碼


  }catch(Exceptione){


  //catch代碼塊


  }


  catch語句包含要捕獲異常類型的聲明.當try語句塊中發生一個異常,catch語句塊就會被檢查


  Exception類型可以用來捕獲所有可能的異常


  下面的例子說明了,當嘗試訪問一個不存在的數組索引時的異常處理:


  publicclassExcepTest{


  publicstaticvoidmain(String[]args){


  try{


  inta[]=newint[2];


  System.out.println(a[3]);


  }catch(Exceptione){


  System.out.println("Anerroroccurred");}


  }


  }//輸出"Anerroroccurred"


  沒有try/catch塊,這段代碼會導致程序崩潰,因為a[3]不存在


  catch塊中的(Exceptione)語句,用于捕獲所有可能的異常


  二多重異常


  使用throw關鍵字可以手動生成方法中的異常.一些可用的異常類型包括:IndexOutOfBoundsException,IllegalArgumentException,ArithmeticException,IOException等等


  例如,參數為0時,我們可以在方法中拋出ArithmeticException.


  intdiv(inta,intb)throwsArithmeticException{


  if(b==0){


  thrownewArithmeticException("DivisionbyZero");


  }else{


  returna/b;}


  }


  方法定義中的throws語句定義了方法可以拋出的Exception類型.接下來,throw關鍵字會引發相應的異常,并附帶自定義消息.


  如果b等于0,它將拋出一個ArithmeticException,并帶有"DivisionbyZero"消息


  ●可以使用(,)分割throws語句中的多個異常類型


  一個try代碼塊后面可以跟隨多個catch代碼塊,這種情況就叫多重捕獲,分別處理不同的異常.


  try{...}


  catch(異常類型1異常變量名1){...}


  catch(異常類型2異常變量名2){...}


  catch(異常類型3異常變量名3){...}


  ●所有catch塊應該從最具體到最普遍的順序排列.在特定的異常之后,最后一個catch塊中的異常類型可以使用Exception類型來處理所有其他異常


  三多線程編程


  java是一種多線程編程語言.我們的程序可以同時運行兩個或多個組件來優化可用資源,每個組件處理不同的任務.


  你可以將單個應用程序中的特定操作細分為全部并發運行的單個線程.


  線程是一個動態執行的過程,它也有一個從產生到死亡的過程.線圖顯示了一個線程完整的生命周期.

image.png

  Java提供了兩種創建線程的方法.


  第一個創建線程的方法是創建一個新的類,該類繼承Thread類,然后創建一個類的實例


  classAextendsThread{


  publicvoidrun(){


  System.out.println("Hello");}


  publicstaticvoidmain(String[]args){


  Aobject=newA();


  object.start();}


  }


  創建一個線程的第二種方法是實現Runnable接口,實現run()方法,然后創建一個Thread對象,將實現Runnable接口的類的實例作為參數傳遞給Thread的構造函數,并調用start()方法來啟動Thread.


  classLoaderimplementsRunnable{


  publicvoidrun(){


  System.out.println("HelloLu");}


  }


  classMyJavaClasss{


  publicstaticvoidmain(String[]args){


  Threadt=newThread(newLoader());


  t.start();}


  }


  Thread.sleep()方法將線程暫停指定的時間段.例如Thread.sleep(1000);暫停一分鐘的線程.


  Thread.sleep()拋出一個InterruptedException,所以一定要用try/catch塊包圍它.


  實現Runnable接口比從Thread類繼承復雜一點,但是,實現Runnable接口是啟動線程的首選方法,因為它使你可以從另一個類進行繼承.


提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 狠狠88综合久久久久综合网 | 精品国产一区二区三区香蕉沈先生 | 日韩精品福利视频一区二区三区 | 一区二区三区国产 | 久久综合九色综合97婷婷群聊 | 天天操操操操操 | 人与拘一级a毛片 | 免费费看的欧亚很色大片 | 免费精品一区二区三区在线观看 | 国产欧美亚洲精品第一区 | jiz中国| 欧美精品香蕉在线观看网 | 欧美成人三级一区二区在线观看 | 久久夜色精品国产噜噜小说 | 国产精品视频专区 | 亚洲欧美日韩一区成人 | 久久综合网久久综合 | 伊人午夜 | 久久ri精品高清一区二区三区 | 午夜美女久久久久爽久久 | 99久久99久久精品国产 | 日本欧美在线观看 | 一级毛片一级毛片一级级毛片 | 好吊色青青青国产欧美日韩 | 亚洲国产精品综合久久网络 | 日日摸夜夜摸狠狠摸日日碰夜夜做 | www久久精品 | 欧美一级特黄一片免费 | 性欧美视频a毛片在线播放 性欧美视频在线观看 | 国产一级毛片一区二区三区 | 欧美三级a| 最新九九精品 | 日韩黄色网址 | 网络毛片| 国产精品欧美久久久久天天影视 | 午夜精品久久久久久久90蜜桃 | 国产一级视频 | 欧美亚洲国产成人精品 | 大学生一级毛片 | 国产高清视频在线免费观看 | 色老师|