网站大量收购闲置独家精品文档,联系QQ:2885784924

JAVA抛出异常的实验.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验内容 1.下面函数的返回值是多少? int normal(){ ?? try{ ?? ?return 10; ?} catch(Exception e){ return 5; } finally { ?? ? return 20; ?} } 2.下面程序的运行结果? public class JVMTest { public static void main(String[] args){ System.out.println(aa: + aa()); } public static int aa(){ int a = 1; int b = 10; try{ System.out.println(abc); return a; }finally{ a = 2; System.out.println(a: + a); } } } 3.为一个类定义两个方法,F()和G()。在G()里,抛出一个你定义的新异常。在F()里,调用G(),捕获它抛出的异常,并且在catch子句里抛出另一个异常(你要定义的第二种异常)。在main()里测试你的代码。 4.建立一个三层的异常继承体系,然后创建基类A,它的一个方法能抛出异常体系的基类异常。用B继承A,并且重载这个方法,让它抛出第二层的异常。让C继承B,再次重载这个方法,让它抛出第三层的异常。在main()里面创建一个C类型的对象,把它向上转型为A,然后调用这个方法。 结论1:当try里面的代码没有异常的时候,会执行该try块对应的finally块,并继续执行finally之后的代码。 结论2:当try里面的代码出现异常的时候,会执行该try块对应的catch块和finally块,且即使catch中有返回finally也是要执行。也就是先执行完finally中的语句,再返回catch中的return。 结论3:相对于结论2,finally中如果有return的情况,那么即使catch中有return,这个return也不起作用,该方法调用要到finally中的return才返回。 class A extends Exception { } class B extends Exception { } public class JVMTest { public static void main(String[] args) { try { F(); } catch(B b) { } } static void G() throws A { System.out.println(抛出第一个异常); throw new A(); } static void F() throws B { try { G(); } catch(A a) { System.out.println(捕获第一个异常); throw new B(); } } } //----------------------------------------------------------------- class MyException1 extends Exception { } class MyException2 extends MyException1 { } class MyException3 extends MyException2 { } class A { void F() throws MyException1 { throw new MyException1(); } } class B extends A { void F(int i) throws MyException2 { throw new MyException2(); } } class C extends B { void F(int i,String s) throws MyException3 { throw new MyException3(); } } public class JVMTest { public static void main(String [] args) { C c = new C(); A a = c; try { a.F(); }catch(MyException1 e){} } }

文档评论(0)

ktj823 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档