异常处理 - 尝试捕获模糊行为(??)

时间:2016-12-21 09:28:11

标签: exception-handling apache-camel

这是我的代码

from("direct:test-POST")
        .doTry()
        .process(new Processor() {

            @Override
            public void process(Exchange arg0) throws Exception {
                throw new NullPointerException(" Null value");

            }
        })
        .doCatch(NullPointerException.class)
        .log("${exception}") // This Prints NullPointer Exception
        .process(new Processor() {

            @Override
            public void process(Exchange arg0) throws Exception {
                System.out.println( arg0.getException() ); //This prints Null

            }
        })
        .end();

使用 jetty:run 运行此驼峰路线。

如何捕获异常。它在日志中打印正确的异常。但在处理器内部,异常为空。我错过了什么

1 个答案:

答案 0 :(得分:3)

我认为在交易所的房产上发现了例外情况。类似的东西:

Throwable caused = exchange.getProperty(Exchange.EXCEPTION_CAUGHT, NullPointerException.class);
assertNotNull(caused);