① java提供給程序主動拋出異常的語句
直接throws Exception 寫在你的方法或者類名後
或者用try catch
② java中 方法中拋出異常處理方法
Java語言提供兩種異常處理機制:捕獲異常和聲明拋棄異常。
1、捕獲異常:
(1)在Java程序運行過程中系統得到一個異常對象是,它將會沿著方法的調用棧逐層回溯,尋找處理這一異常的代碼。
(2)找到能夠處理這種類型異常的方法後,運行時系統把當前異常交給這個方法處理;如果找不到可以捕獲異常的方法,則運行時系統將終止,相應的Java程序也將退出。
(3)捕獲異常是通過try-catch-finally語句實現的。語法為:
try{
...
}catch(ExceptionName1 e){
...
}catch(ExceptionName2 e){
...
}
...
}finally{
...
}
2、聲明拋棄異常:
(1)當Java程序運行時系統得到一個異常對象時,如果一個方法並不知道如何處理所出現的異常,則可在方法聲明時,聲明拋棄異常。
(2)聲明拋棄異常是在一個方法聲明中的throws子句中指明的。如:
public int read() throws IOException{
...
}
其中throws IOException就是聲明拋棄異常,throws後可以跟多個異常類型。
(2)java如何拋異常擴展閱讀:
程序設計語言的異常機制:
1、多數語言的異常機制的語法是類似的:用throw或raise拋出一個異常對象(Java或C++等)或一個特殊可擴展的枚舉類型的值(如Ada語言);
2、異常處理代碼的作用范圍用標記子句(try或begin開始的語言作用域)標示其起始,以第一個異常處理子句(catch, except, resuce等)標示其結束;可連續出現若干個異常處理子句,每個處理特定類型的異常。
3、某些語言允許else子句,用於無異常出現的情況。更多見的是finally, ensure子句,無論是否出現異常它都將執行,用於釋放異常處理所需的一些資源。
(1)C++異常處理是資源獲取即初始化(Resource-Acquisition-Is-Initialization)的基礎。
(2)C語言一般認為是不支持異常處理的。Perl語言可選擇支持結構化異常處理(structured exception handling)。
(3)Python語言對異常處理機制是非常普遍深入的,所以想寫出不含try, except的程序非常困難。
參考資料來源:
網路-異常處理
③ JAVA如何拋出異常
throws 在方法外面,把異常拋給上一層,或者try-catch在本方法中處理異常。
④ JAVA如何拋出異常。。
如果你知道你寫的某個函數有可能拋出異常,而你又不想在這個函數中對異常進行處理,只是想把它拋出去讓調用這個函數的上級調用函數進行處理,那麼有兩種方式可供選擇:
第一種方式:直接在函數頭中throws SomeException,函數體中不需要try/catch。比如將最開始的例子中的testEx2改為下面的方式,那麼testEx1就能捕捉到testEx2拋出的異常了。
boolean testEx2() throws Exception{
boolean ret = true;
int b=12;
int c;
for (int i=2;i>=-2;i--){
c=b/i;
System.out.println("i="+i);
}
return true;
}
第二種方式:使用try/catch,在catch中進行一定的處理之後(如果有必要的話)拋出某種異常。例如上面的testEx2改為下面的方式,testEx1也能捕獲到它拋出的異常:
boolean testEx2() throws Exception{
boolean ret = true;
try{
int b=12;
int c;
for (int i=2;i>=-2;i--){
c=b/i;
System.out.println("i="+i);
}
return true;
}catch (Exception e){
System.out.println("testEx2, catch exception");
Throw e;
}
}
第三種方法:使用try/catch/finally,在catch中進行一定的處理之後(如果有必要的話)拋出某種異常。例如上面的testEx2改為下面的方式,testEx1也能捕獲到它拋出的異常:
boolean testEx2() throws Exception{
boolean ret = true;
try{
int b=12;
int c;
for (int i=2;i>=-2;i--){
c=b/i;
System.out.println("i="+i);
throw new Exception("aaa");
}
return true;
}catch (java.lang.ArithmeticException e){
System.out.println("testEx2, catch exception");
ret = false;
throw new Exception("aaa");
}finally{
System.out.println("testEx2, finally; return value="+ret);
}
}
---------來自知道網友: c15836
⑤ Java:如何將異常拋到指定方法呢
JAVA沒有這樣的處理機制,在VB等語言里有on
error
goto(錯誤處理)這樣的處理機制(雖然本質來說JAVA的異常跟錯誤是完全不同的兩個概念,這里只是拿來做對比說明),JAVA會捕捉不同的異常進行不同的處理,如果你要對所有的異常進行同一個處理,可以編寫一個異常處理方法,在所有捕捉到的地方調用該方法。
⑥ java中怎麼拋異常和接收異常
拋出異常 就是使用 throw關鍵字 除了拋出常見的默認異常外,主要是用於拋出自定義異常,關於自定義異常就是繼承了Exception類的子類接受異常是指捕獲異常嗎,似乎沒有聽說過接受異常這種說法,捕獲異常的話主要是用 try{} catch(){} finally{} 結構try {}數據塊中 是預期可能出現異常的代碼catch 的 attribute 是指定希望捕獲的異常,比如catch(NullPointerException e )就是只測試並捕獲空指針異常,再如catch(Exception e) 就可以捕獲所有繼承了Exception的子類,{}則是捕獲該異常後的處理代碼,比如輸出錯誤信息,etc 實際應用中可以有多個catch 用來區分不同的異常然後運行不同的代碼進行處理finally{}則是無論是否捕獲異常,該代碼都會執行 希望對你有幫助
⑦ java拋出異常
拋出異常分為兩種吧,一種是製造異常,一種是拋出可能發生的異常
throw關鍵字,拋出一個異常(即製造一個異常),用法 throw 異常 ,該異常必須為java.lang.Exception的子類,如果是RuntimeException子類的話,則不需要捕獲或拋出異常。
throws關鍵字,拋出一個可能發生的異常,用在函數定義中,末尾處,以主函數為例子,public static void main(String[] args) throws 異常; 該異常必須為Exception子類,常用於其子類,是這一個方法體執行中可能拋出(throw)的異常處理。如果不進行throws,也可以用try...catch語句進行捕獲。
自定義異常,類一定(間接)繼承java.lang.Exception類,當然,繼承java.lang.RuntimeException就可以不用進行處理,下面舉一個例子:
public class TestException extends Exception {
public TestException(String message) {
super(message);
}
public TestException() {}
}
一般自定義異常需要有2個構造函數,五參構造器和String類型構造器,有參構造調用父類有參構造。
⑧ java中如何一次拋出多個異常
基本思路就是定義三個類,繼承異常的父類,然後在需要拋出異常的地方,throws一下就可以了,示例如下:
{
publicstaticvoidmain(String[]args)throwsException{
try{
test(2);
}catch(Exceptione){
if(einstanceofTestAException||einstanceofTestBException
||einstanceofTestCException){
e.printStackTrace();
}else{
throwe;
}
}
}
publicstaticvoidtest(inta)throwsTestAException,TestBException,
TestCException{
if(a==0){
thrownewTestAException();//拋出第一個異常
}
if(a==1){
thrownewTestBException();//拋出第二個異常
}
if(a==2){
thrownewTestCException();//拋出第三個異常
}
}
}
{//繼承父類Exception
=1L;
}
{
=1L;
}
{
=1L;
}
⑨ Java的異常拋出問題
這個方法的意思是:
1.傳入兩個參數, 一個int數組, 一個目標值int類型
2.如果滿足條件就返回一個新的數組(return new int[]{}), 且方法就此結束
3.如果沒有滿足的條件, 那麼拋異常, 異常在實際運用中一般用來信息傳遞(比如這里, 就是通知到調用方:沒有解決方案)