在线等待!急!高分回复

micheall 2003-12-26 11:07:46
1 class MyException extends Exception{}

2 class MyExceptionGenerator{

3 void SomeMethodGenerateMyException() throws MyException{

4 System.out.println("\t我要产生例外!");

5 throw new MyException();

6 System.out.println("\t我又继续执行下去!");

7 }

8}

9class AfterExceptionHandling{

10 public static void main(String[] args){

11 MyExceptionGenerator GenException=new MyExceptionGenerator();

12 try{

13 System.out.println("\t发生例外的程序代码之前");

14 GenException.SomeMethodGenerateMyException)();

15 System.out.println("\t发生例外的程序代码之后");

16 }

17 catch(MyException e){

18 System.out.println("\t发生了MyException");

19 }

20 System.out.println("\t执行到这行,整个程序就结束了");

21 }

22}
提问:在编译该程序时,系统提示:不能识别第6行;
如果删除第6行,程序将正确执行,并能正确显示结果。
这是为什么?
如果说是因为第6行执行不了,那第15行也不能执行,为什么第15行不出错 呢?
...全文
16 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
疯癫行者 2003-12-27
  • 打赏
  • 举报
回复
在java中不能这么“相当于”!
micheall 2003-12-27
  • 打赏
  • 举报
回复
当执行GenException.SomeMethodGenerateMyException)()时,不是相当于将该方法中的三条语句都放在了try中吗?
疯癫行者 2003-12-27
  • 打赏
  • 举报
回复
因为编译器判断出第6行根本执行不到,因此编译通不过。
而编译器不认为第15行执行不到,所以编译通过。
layueer 2003-12-27
  • 打赏
  • 举报
回复
有 try 可以捕获异常,没有当然出错
layueer 2003-12-26
  • 打赏
  • 举报
回复
好象因为15的有try

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧