码迷,mamicode.com
首页 > 其他好文 > 详细

201621123068 作业10-异常

时间:2017-11-25 20:46:14      阅读:118      评论:0      收藏:0      [点我收藏+]

标签:带来   强制转换   对象   步骤   循环   point   run   分享图片   ima   

1. 本周学习总结

1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容。

技术分享图片

2. 书面作业

本次PTA作业题集异常

1. 常用异常

结合题集题目7-1回答

1.1 自己以前编写的代码中经常出现什么异常、需要捕获吗(为什么)?应如何避免?

答:以前编写时经常出现的异常有

  • <NullPointerException> 空指针(不需捕获),属于RuntimeException,注意判断指针是否为空就好
  • 数组下标越界(无须捕获),因为属于RuntimeException,自行修改就好
  • <IllegaArgumentException>输入参数错误(需要捕获),不属于RuntimeException,抛出具体异常修改
  • <ClassCastException>类型转换错误(需要捕获),不属于RuntimeException,一般使用强制转换类型

    1.2 什么样的异常要求用户一定要使用捕获处理?

    答:除了Error与RuntimeException及其子类,其他异常都需要捕获处理。

2. 处理异常使你的程序更加健壮

题集题目7-2

2.1 实验总结。并回答:怎么样才能让你的程序更加健壮?

  • 实验总结:进入for循环,输入是非整型的数时抛出异常,此时不应该做 i++ 操作,所以将 i++ 放到 try 语句中,抛出异常则不执行。
  • 答:在可能报错的地方加入 <try-catch>语句,可以使程序更加健壮。

3. throw与throws

题集题目7-3

3.1 Integer.parsetInt一开始就有大量的抛出异常的代码,这种做法有什么好处?

答:有利于在面向对象时,可以更好地提供错误的解决办法,使程序在执行时更加直观

3.2 结合自己编写的程序与3.1,分析自己编写的方法抛出异常时一般需要传递给调用者一些什么信息?

答:题目7-3中抛出异常<IllegalArgumentException>时会传递给调用者知道,具体是哪个步骤(或输入)错误,这样下次调用时可以避免错误
技术分享图片

4. 用异常改进ArrayIntegerStack

题集题目6-3

4.1 结合6-3代码,回答使用抛出异常的方式代表程序运行时出错有什么好处?比单纯的返回错误值,有何优点?

4.2 如果一个方法内部的内码抛出的是RuntimeException类型的异常,那么方法声明是否应该使用throws关键字,如果使用throws关键字声明该方法抛出的异常,能给我们带来什么好处吗?

201621123068 作业10-异常

标签:带来   强制转换   对象   步骤   循环   point   run   分享图片   ima   

原文地址:http://www.cnblogs.com/jmu201621123068/p/7892797.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!