JBPM中的异常处理
????? 在处理SQL异常的时候,通常不建议直接在持久层catch异常,这么做意义不大。而SQL异常包括hibernate的异常是一种checked异常,也就是说,如果不处理的话就通不过编译。那么一般的做法是,将这种checked异常进行包装让他成为运行时异常,即:RuntimeException。这样,在持久层就不必catch这个异常,可以直接向外抛出,谁有能力处理就交给谁处理,谁也处理不了,就会一直向上抛出。
????? 在JBPM里面,处理异常也是按照上面的方法,在JBPM的源代码里已经封装了一个异常处理类 JbpmException。他的代码如下:
package org.jbpm.api;/** all exceptions that jBPM throws are JbpmException's * (extends RuntimeException).*/public class JbpmException extends RuntimeException { private static final long serialVersionUID = 1L; public JbpmException() { super(); } public JbpmException(String msg, Throwable cause) { super(msg); super.initCause(cause); } public JbpmException(String msg) { super(msg); } public JbpmException(Throwable cause) { super(); super.initCause(cause); }}?