Apcoordinator ユーザーズガイド |
目次 |
第3部 Webアプリケーションの開発 | > 第16章 APIを使ったプログラミング | > 16.3 Webアプリケーションのエラー処理 |
一例として、BigInteger型の項目に対して空文字列が送信された場合にnullを設定する場合、以下のようにします。
public class SampleBean extends DataBean implements UpdateExceptionListener { public void handleException(UpdateExceptionEvent uee) { // 例外を知る Exception ex = uee.getException(); // 項目名を知る String propertyName = uee.getName(); // 入力しようとした値を知る Object value = uee.getValue(); // 代替処理の実行 .... // 処理できない場合は再度スローする throw ex; } }
// 代替処理の実行 if(propertyName.equals("someBigIntProp") && ex instanceof NumberFormatException) { if(value instanceof String && ((String)value).length() == 0) { setSomeBigIntProp(null); return; } // NumberFormatExceptionの場合はWebcoordinatorが // new BigInteger(0)を設定するので、別の例外に置き換える ex = new IllegalArgumentException("Error in someIntProp"); }
目次 |