今天在利用activiti进行接口开发的时候发现底层代码抛出的错误被activiti进行了进一步的封装成了runtimeException,而主动抛出的错误信息整体被作为runtimeException的detailMessage信息进行保存。经过研究发现实际上在listener中抛出的异常信息在流程操作层是可以捕获到的,只有当抛出异常的位置为调用的dubbo所提供的接口时才会出现这样的情况。
解决方案:在dubbo提供的接口后主动throws出所要抛出的异常,之后在listener中对改异常进行捕获,这样该异常就可以顺利的被流程控制层捕获。