肯定是在你需要對(duì)異常進(jìn)行處理的時(shí)候啊
公司主營(yíng)業(yè)務(wù):網(wǎng)站設(shè)計(jì)制作、成都做網(wǎng)站、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)推出石首免費(fèi)做網(wǎng)站回饋大家。
舉個(gè)最常用的例子,線程的異常捕獲
基本上用線程大部分都會(huì) 進(jìn)行異常捕獲
比如在線程睡眠的時(shí)候使用下面這條語句拋出異常
Thread.currentThread().interrupt();
這時(shí)候如果直接print的話,就會(huì)打印IllegalThreadStateException異常
這時(shí)候如果你不想 打印這個(gè)異常,想寫個(gè)別的,比如打印一個(gè) HelloWord
在 catc語句塊中寫print("HelloWord")就行了
try{//當(dāng)代碼運(yùn)行時(shí)候可能會(huì)發(fā)生異常的句子}catch{//處理異常的代碼,讓程序在異常之后執(zhí)行該代碼}finally{無論是否有這里面的代碼都要執(zhí)行 通常是進(jìn)行資源清楚和關(guān)閉打開的文件等{throws 總是出現(xiàn)在方法的聲明中,用來標(biāo)明該方法可能會(huì)拋出的各種異常throw 總是出現(xiàn)在方法體中,用來拋出一個(gè)異常異常主要分:運(yùn)行時(shí)異常(RunTimeException 他的子類直接繼承它 而它本身繼承Exception)非運(yùn)行時(shí)異常(直接繼承Exception)在處理異常時(shí)候 可以使用多重catch 捕獲異常排列順序必須是從特殊到一般 最后一個(gè)是Exception類
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
if(scanner.hasNext()) {
String data = scanner.next();
//判空,去空格
if(data != null !(data = data.trim()).equals("")){
//是否為整數(shù)或者一個(gè)數(shù)
if(Pattern.matches("[-]?\\d+",data)){
//判斷是否為一個(gè)負(fù)數(shù)
Integer num = Integer.parseInt(data);
if(num 0){
System.out.println("為負(fù)數(shù)");
}else{
long rs = factorial(num);
System.out.println("階乘結(jié)果:" + rs);
}
}else{
System.out.println("非整數(shù)");
}
}else{
System.out.println("輸入為空");
}
}
}
public static long factorial(long number) {
if (number = 1)
return 1;
else
return number * factorial(number - 1);
}
Java語言提供兩種異常處理機(jī)制:捕獲異常和聲明拋棄異常;
1)捕獲異常:在Java程序運(yùn)行過程中系統(tǒng)得到一個(gè)異常對(duì)象是,它將會(huì)沿著方法的調(diào)用棧逐層回溯,尋找處理這一異常的代碼。找到能夠處理這種類型異常的方法后,運(yùn)行時(shí)系統(tǒng)把當(dāng)前異常交給這個(gè)方法處理;如果找不到可以捕獲異常的方法,則運(yùn)行時(shí)系統(tǒng)將終止,相應(yīng)的Java程序也將退出。捕獲異常是通過try-catch-finally語句實(shí)現(xiàn)的。語法為:
try{
...
}catch(ExceptionName1 e){
...
}catch(ExceptionName2 e){
...
}
...
}finally{
...
}
2)聲明拋棄異常:當(dāng)Java程序運(yùn)行時(shí)系統(tǒng)得到一個(gè)異常對(duì)象時(shí),如果一個(gè)方法并不知道如何處理所出現(xiàn)的異常,則可在方法聲明時(shí),聲明拋棄異常。聲明拋棄異常是在一個(gè)方法聲明中的throws子句中指明的。如:
public int read() throws IOException{
...
}
其中throws IOException就是聲明拋棄異常,throws后可以跟多個(gè)異常類型。
當(dāng)前題目:java代碼加捕獲異常 java 捕獲異常
文章分享:http://jinyejixie.com/article12/doseegc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設(shè)計(jì)公司、響應(yīng)式網(wǎng)站、用戶體驗(yàn)、定制網(wǎng)站、營(yíng)銷型網(wǎng)站建設(shè)、Google
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)