c 异常 java异常_C ++和Java中异常处理的比较
如今,幾乎所有面向對象的語言都具有異常處理功能。在C ++和Java中,我們也可以獲得這種功能。C ++中的異常處理和Java中的異常處理之間有一些相似之處,例如在兩種語言中,我們都必須使用try-catch塊。雖然也有一些困難。這些如下-
在C ++中,我們可以將任何類型的數據作為異常拋出。任何類型的數據都意味著原始數據類型和指針。在Java中,我們只能拋出throwable對象。任何throwable類的子類也將是throwable。
示例#include?
using?namespace?std;
int?main()?{
int?x?=?-5;
try?{?//protected?code
if(?x?
throw?x;
}
}
catch?(int?x?)?{
cout?<
}
}
輸出結果Exception?Caught:?thrown?value?is?-5
在C ++中,有一個名為catch all的選項可以捕獲任何類型的異常。語法如下-try?{
//protected?code
}?catch(…)?{
//catch?any?type?of?exceptions
}
示例#include?
using?namespace?std;
int?main()?{
int?x?=?-5;
char?y?=?'A';
try?{?//protected?code
if(?x?
throw?x;
}
if(y?==?'A')?{
throw?y;
}
}
catch?(...)?{
cout?<
}
}
輸出結果Exception?Caught
在Java中,如果我們想捕獲任何類型的異常,則必須使用Exception類。Java中存在的任何異常或某些用戶定義的異常的超類。語法如下-try?{
//protected?code
}?catch(Exception?e)?{
//catch?any?type?of?exceptions
}
C ++沒有finally塊。但是在Java中,有一個特殊的塊稱為finally。如果我們在finally塊中編寫一些代碼,它將始終執行。如果try塊被執行而沒有任何錯誤,或者發生了異常,則finally將一直執行。
Java現場演示
示例public?class?HelloWorld?{
public?static?void?main(String?[]args)?{
try?{
int?data?=?25/5;
System.out.println(data);
}?catch(NullPointerException?e)?{
System.out.println(e);
}?finally?{
System.out.println("finally?block?is?always?executed");
}
System.out.println("rest?of?the?code...");
}
}
輸出結果5
finally?block?is?always?executed
rest?of?the?code...
總結
以上是生活随笔為你收集整理的c 异常 java异常_C ++和Java中异常处理的比较的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据结构 c c java_用jav
- 下一篇: ue4加载本地版本_【虚幻4】创建本地数