抛出异常表单覆盖方法,无异常在org方法接口上定义

时间:2013-02-14 08:03:56

标签: java exception exception-handling eclipse-emf

我正在从org.eclipse.emf.transaction.RecordingCommand扩展类RecordingCommand;我需要覆盖受保护的方法doExecute(),方法定义不包含任何抛出的异常但是我的代码中有选项我有异常并且我想抓住它并将其提升,我应该如何处理一种例外,在这里我抛出了消息e,但我不确定这是否是正确的方法。

我希望你能理解这个问题,因为我觉得它更复杂只是抛出E

iethrow the exception

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

1 个答案:

答案 0 :(得分:5)

您始终可以从方法中抛出UncheckedException,无需在throws子句中声明。

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

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

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