9.59 checked exceptionの乱用を避ける
1037 ワード
checked exceptionでは、呼び出し元がtry/catchを使用して取得する必要があります.そうしないと、コンパイル時にエラーが表示されます.例外がリカバリできない場合、または呼び出し元が取得した後に次の処理しかできない場合は、checked exceptionを使用しないでください.
メソッドがchecked exceptionを1つしか放出しない場合は、次のようなステータステストメソッドを提供することが考えられます.
sayHello()はchecked exceptionを1つしか投げていないので、次のように変更できます.
try{//...}
catch(TheCheckedException e){
throw new AssertionError();//
}
try{//....}
catch(TheCheckedException e){
e.printStackTrace();
System.exit(i);//
}
メソッドがchecked exceptionを1つしか放出しない場合は、次のようなステータステストメソッドを提供することが考えられます.
//NotOKToInvokeException checked exception,
public void sayHello() throws NotOKToInvokeException(){
}
sayHello()はchecked exceptionを1つしか投げていないので、次のように変更できます.
//NotOKToInvokeException unchecked exception
//
public void sayHello() throws NotOKToInvokeException(){
}
// , false, sayHello()
//NotOKToInvokeException
public boolean isOKToInvokeSayHello(){
}