JAVA抛出异常的实验.docVIP

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
JAVA抛出异常的实验.doc

实验内容 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)

docinpfd + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:5212202040000002

1亿VIP精品文档

相关文档