2016-05-14 11 views
0

クラスのカスタム例外を作成できますか? たとえば、私はクラスAを持っています。特定のオブジェクトを作成するとき、または与えられたメソッドを呼び出すときに私はカスタム例外をスローしたいと思います。クラスレベルのJavaカスタム例外

+0

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

あなたは、例外の詳細を見つけることができます私たち自身の例外? –

答えて

2

これはException独自に作成する最も簡単な方法です:

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

あなたは例外checkedunchecked例外の2種類があります。

  1. Unchecked例外がRuntimeExceptionのサブクラスで、これらの例外は、それを明示的try/catchブロックまたはでを管理する必要はありませんコードを呼び出して、あなたのメソッド/コンストラクタの記述で明示的に追加する必要はありません。それを投げつける。
  2. Checked例外は、サブExceptionのクラスではなくRuntimeExceptionのサブクラスで、これらの例外は、コードを呼び出して、あなたのメソッド/コンストラクタの記述で明示的に追加する必要がtry/catchブロックまたはそれを投げることによって明示的ににそれを管理する必要が。あなたの必要性によっては

あなたはそれを管理するためのコードを呼び出す強制する場合は、そうでない場合unchecked例外を使用checked例外を使用し、二つの可能性のうちの1つを選択します。

Unchecked例外

それを作成する方法:

public class MyException extends RuntimeException { 
... 
} 

は、それを使用する方法:

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

Checked例外

それを作成する方法:

public class MyException extends Exception { 
... 
} 

は、それを使用する方法:私は質問を理解し、あなたが作成する方法を意味していなかったhere