例外ハンドリング
キャッチできる例外
wisdomを使用している場合、例外クラスのcatchは原則として行わないでください。DBアクセス時の例外などはすべてwisdom側で安全にクローズします。
各アプリケーションで例外の制御を含めると、余分な制御のためのコードを書く必要になり、例外処理が開発者依存になり、品質低下はもちろん問題判別を非常に複雑にします。
また、各アプリケーションに対して「どのような例外処理を行っており、その処理は正しく実装されているか」という信頼性も下がります。
例外処理でExceptionクラスをcatchするように記述した場合,想定外のエラーが発生した場合でも想定内のエラーとして処理してしまいます。
例外処理は(SQLExceptionやIOExceptionなど)個々の例外をCatchするようにし,Exceptionクラスのcatchは行わないでください。
例) 正しい例外のcatch
package tutorial;
import wisdom.core.application.AbstractRequestCommand;
public class HelloWorld extends AbstractRequestCommand {
protected void _execute() throws Exception {
int number = 0;
try {
String param = rp.getString("number","");
int number= Integer.parseInt(param);
} catch (NumberFormatException nfe) {}
if
/* 変数numberが0だったときの処理 ........*/
}