2016-05-14 34 views
0

我們可以爲類級別創建自定義異常嗎? 例如我有一個類A,現在當我創建一個給定的對象或當我調用給定的方法時,我想喲拋出我的自定義異常。關於級別級別的Java自定義異常

+0

我有不明白的問題,你的意思是如何創建我們自己的例外? –

回答

2

這是創建自己的Exception最簡單的方法:

public class LevelException extends Exception { 
    public LevelException(String message) { 
     super(message); 
    } 
} 
2

你有兩種例外checkedunchecked例外。

  1. Unchecked例外是RuntimeException的子類,這些例外情形不會需要在你的方法/構造函數描述明確添加,調用代碼沒有管理它明確了try/catch塊或扔它。
  2. Checked例外是Exception的子類,但不是子類RuntimeException,這些例外需要在你的方法/構造函數描述明確添加,調用代碼必須與try/catch塊或把它扔它明確管理

根據你的需要,你會選擇兩個可能性中的一個,如果要強制調用代碼來管理它,使用checked例外以其它方式使用unchecked例外。

Unchecked例外

如何創建它:

public class MyException extends RuntimeException { 
... 
} 

如何使用它:

public void myMethod() { 
    ... 
    if (some condition) { 
     throw new MyException(); 
    } 
    ... 
} 

Checked例外

如何創建它:

public class MyException extends Exception { 
... 
} 

如何使用它:

public void myMethod() throws MyException { 
    ... 
    if (some condition) { 
     throw new MyException(); 
    } 
    ... 
} 

您可以找到有關異常的詳細信息here