2011-07-20 5 views
0

私はCustomExceptionクラスを宣言しました。 onExceptionを()はそれをキャッチすると は、それは私が定義されたプロセッサに行く:交換からカスタム例外を取得する

onException(classOf[CustomException]).process(doSmth) 

これまでのところは良いです。私は例外が私が書くとき

「CustomException」タイプであるかどうかを確認するために、プロセッサに必要 問題:

DEF処理(交換:交換)= { ヴァル例外:CustomException =交換.getProperty(Exchange.EXCEPTION_CAUGHT、classOf [CustomException])

私がnull

を得たが、私が書くとき:

def process(exchange: Exchange) = { 
    val exception: Exception = exchange.getProperty(Exchange.EXCEPTION_CAUGHT, classOf[Exception]) 

私はどのように私は例外の種類はプロセッサに投げ込まれたのかを確認して可能性があり、私の例外オブジェクトに

を持って! JavaのDSLで

答えて

0

、これは...

public void process(Exchange exch) throws Exception { 
    Exception e = (Exception) exch.getProperty(Exchange.EXCEPTION_CAUGHT); 
    if (e instanceof CustomException) { 
     logger.info("custom exception"); 
    } else { 
     logger.info("other excpetion"); 
    } 
} 
の作品
関連する問題