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

2024-11-15 10:10:18
推荐回答(4个)
回答(1):

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

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

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

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

回答(2):

new Exception(); 就是你自己构造了一个异常,

然后你在代码中抛出了
exception 类型的异常,java要求异常要显示处理,就是一定要处理的意思
你这个代码是一个异常示例吧?教你怎么使用和捕获异常
建议你看看这个代码出处的教材内容,先把异常神马弄清楚

回答(3):

这就是正常的啊

因为自己抛出异常的

回答(4):

你虽然有try来捕获异常,catch本应该是处理异常的,但是你却又把异常抛出去了,所以相当于你根本没有try catch