2 回答
TA贡献1874条经验 获得超12个赞
提供一个也接受 wrap 异常的构造函数:
public class MyException extends Exception {
public MyException (String message, OrekitException exception){
super(message, exception);
}
}
或者要包装任何异常,请为参数使用更广泛的类型:
public MyException (String message, Exception exception){
super(message, exception);
}
您可以将其用作:
private void configureOrekit() throws MyException{
try {
method logic...
} catch (OrekitException oe) {
throw new MyException("message useful...", oe);
}
请注意,System.out.println()不是跟踪异常的方式和记录异常和然后把它包在另一个不同的是你扔也不好,你仍然可以记录它在任何一层,它将使所有的事情并不清楚找到一些重复错误记录在日志文件中...一般来说,记录或抛出/传播异常:不能同时进行。
TA贡献1844条经验 获得超8个赞
例外允许您指定一个cause. 您可以在构造函数中使用一个原因,并将其传递给Exception的构造函数:
public class MyException extends Exception {
public MyException (String message, Exception cause){
super(message, cause);
}
}
然后你的方法可以抛出MyException:
private void configureOrekit() throws MyException{
try {
method logic...
} catch (OrekitException oe) {
System.out.println(OrekitException oe);
log.error(oe.getMessage());
throw new MyException("", oe);
}
}
这允许来自MyException对象的堆栈跟踪caused by...显示原始的详细信息/跟踪OrekitException
添加回答
举报