黑马程序员技术交流社区
标题:
异常问题
[打印本页]
作者:
吴通
时间:
2012-8-23 21:36
标题:
异常问题
class DemoTry
{
public static void func()
{
try
{
throw new Exception();
System.out.println("A");
}
catch (Exception e)
{
System.out.println("B");
}
}
public static void main(String[] args)
{
try
{
func();
}
catch (Exception e)
{
System.out.println("C");
}
System.out.println("D");
}
}
class Demo
{
public static void main(String[] args)
{
try
{
//throw new Exception();
showExce();
throw new Exception();
System.out.println("A");
}
catch (Exception e)
{
System.out.println("B");
}
finally
{
System.out.println("C");
}
}
public static void show Exce()throws Exception
{
throw new Exception();
}
}
结果编译能通过,但是如果把throw new Exception();放在try里面
不用show调用则编译通过不了,为什么啊?详细解释下 谢谢
作者:
商秀川
时间:
2012-8-23 21:48
编译时,它只查找有没有语法错误,当throw new Exception();抛出一个异常时其下面的语句就不会执行,所以编译报错,
当调用一个方法去实现抛出一个异常,编译器不会查找方法中的方法体具体是什么,因此编译通过。
OK!
作者:
邓超军
时间:
2012-8-23 21:51
throw new Exception();
System.out.println("A");
你这两个语句中第二个语句是个垃圾语句,永远也执行不到,所以编译失败。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2