我试图抓住一个异常,然后抛出它。
try{
arr = new class[arrLen]; //Goes to a constructor that may cause an exception
}
catch(Exception e){
MyException e = new MyException;
throw e;
}
正如您所看到的,我正在尝试执行命令,然后如果它导致异常,我想创建一个新的MyException实例然后抛出它。
我遇到的问题是我是否应该创建“Exception e”然后尝试创建一个新的“MyException e”,或者我应该创建一个新的MyException,AKA
MyException f = new MyException;
throw f;
答案 0 :(得分:1)
您应该使用新变量创建新的MyException
,例如f
。此新异常应使用原始Exception
作为原因。例如
MyException f = new MyException(e);
throw f;
如果MyException
扩展了Exception,您可以重用e变量。
e = new MyException(e);
throw e;