1

我正在从 org.eclipse.emf.transaction.RecordingCommand 扩展类 RecordingCommand;我需要重写受保护doExecute()的方法,方法定义不包含任何要抛出的异常,但是在我的代码中有一个选项,我有异常,我想捕获它并引发它,我应该如何处理这种异常,在这里我抛出消息e,但我不确定这是正确的方法。

我希望你能理解这个问题,因为我认为抛出 E 更复杂

iethrow 异常

@Override 
protected void doExecute() {
    try { 
        //my logic
   } catch(Exception e) {
        throw e;
   }
}
4

1 回答 1

5

你总是可以UncheckedException从一个方法中抛出一个不需要在throws子句中声明的方法。

因此,您将异常包装在任何未经检查的异常中,例如扩展RuntimeException甚至RuntimeException本身。

try {
    //my logic
} catch(Exception e) {
     throw new RuntimeException(e);
}

并且为了完整起见,使用单个catch块 for是一个坏主意Exception,它将捕获所有异常。相反,您应该catch阻止您的方法可能抛出的特定类型的异常。

于 2013-02-14T08:06:15.903 回答