java为什么在try和catch中不能都抛出异常?

package include;
public class Try {
public void aa() throws Exception
{
try
{
throw new Exception(); //这里为什么异常?
}
catch(Exception e)
{
throw e;
}
}
}
请问这个程序为什么执行部下去?
异常如下:
java.lang.Exception
at include.Try.aa(Try.java:7)
at Test.test.main(test.java:13)

谁说的?下面代码绝对能编译通过!

try {
    throw new IllegalArgumentException();
}
catch (Exception ex) {
    throw new RuntimeException();
}

你说的try和catch中不能抛出异常,应该是说,throw后面不能再有任何语句,如下,就不行了

try {
    throw new IllegalArgumentException();
    int a = 0; //这里就会报错,因为这一句不可能到达,所以编译器拒绝编译
}
catch (Exception ex){
]

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-02-09
new Exception(); 就是你自己构造了一个异常,

然后你在代码中抛出了
exception 类型的异常,java要求异常要显示处理,就是一定要处理的意思
你这个代码是一个异常示例吧?教你怎么使用和捕获异常
建议你看看这个代码出处的教材内容,先把异常神马弄清楚本回答被网友采纳
第2个回答  2014-02-09
这就是正常的啊

因为自己抛出异常的
第3个回答  2014-02-09
你虽然有try来捕获异常,catch本应该是处理异常的,但是你却又把异常抛出去了,所以相当于你根本没有try catch追问

3Q,谢谢!

本回答被提问者采纳
相似回答