【发布时间】:2011-05-12 22:17:58
【问题描述】:
在尝试重构一些 I 代码时,我尝试像这样在 catch 子句中抛出异常 -
try {
....
}
catch(Exception exception){
.....
throw exception
}
但是,当我尝试在“抛出异常”行中抛出异常时,编译器抱怨说我需要在新的 try/catch 中将 throw 子句括起来,就像这样 -
try
{
....
}
catch (Exception exception)
{
.....
try
{
throw exception
}
catch (Exception e2)
{
...
}
}
为什么编译器需要这个,它有什么用处?
谢谢
【问题讨论】:
-
感谢所有答案,代码在线程的 run 方法中,所以我认为我不能抛出异常?
-
我不这么认为,但也许我错了,我真正想知道的是为什么我需要用 try catch 包围“抛出异常”。抛出异常时肯定不能抛出异常吗?尝试 { 抛出异常 } 捕捉(异常 e2){ ... }