class throwseg1
{
void show() throws Exception
{
throw new Exception("my.own.Exception");
}
void show2() throws Exception // Why throws is necessary here ?
{
show();
}
void show3() throws Exception // Why throws is necessary here ?
{
show2();
}
public static void main(String s[]) throws Exception // Why throws is necessary here ?
{
throwseg1 o1 = new throwseg1();
o1.show3();
}
}
为什么编译器报告方法show2()
,show3()
和main()
都必须被捕获或声明为什么调用函数时必须“抛出异常”?
没有报告异常引发异常
当我删除这些方法throws Exception
?
@PaulTomblin主要肯定可以声明抛出异常。如果有,JVM将关闭。这与编译器允许的那样接近忽略它。 – Taymon 2012-07-21 03:57:35
当被调用的方法(** Methodod1 **)抛出'Exception'时,我们必须用'throws Exception'来定义调用方法(** Method2 **);如果我们没有在调用方法中传递该异常。这样做的目的是使** Method2 **的调用方法(** Method3 **)可以通过** Method2 **引发异常,并且您应该在此处理它,否则它可能会中断您的程序。 – Rito 2017-09-11 02:03:50
同样,如果** Method3 **没有在它的主体中处理异常,那么它必须在其方法定义中定义'throws Exception'来提供它的调用方法。以前的评论__extension_ – Rito 2017-09-11 02:11:25