A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 牧风 中级黑马   /  2016-8-2 23:03  /  633 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

自己在自学时对异常的一点感悟,感觉对你有帮助的 帮忙点赞
Exception
  **程序本身存在问题
  当程序通过throw 抛出问题时,表示这个程序本身存在问题,要么捕获,要么声明。(自己处理或者声明让调用者知道。)
RuntimeException(数组角标越界异常)
  **不是功能本身存在问题,而是调用者传递参数等发生错误,导致运行失败。
内部有throw 抛出的异常,当传入 的参数或操作错误等,会发生异常,导致程序停止。这些异常都是运行时异常。
  声明是为了让调用者进行处理。
不声明为了不让调用者处理,只是让程序停止运行,让调用者看到现象,去修改代码。
--->声明:面包贴标签;不声明:暴漏出来坏的内容,让调用者修改
总结:
编译时异常: 继承Exception 在可能出现问题的A方法中throw抛出异常,然后通过throws声明,这个类型的异常。
如果在调用A的地方没有处理能力继续声明,然后等待下一个调用者处理。
运行时异常:继承RuntimeException,不需要声明。

自定义异常A:
注意点:
  1.继承一个Throwable的子类一般是Exception 或者RuntimeException
  2.异常构造函数中,要通过super()继承父类的方法
  3.当方法B中有可能发生自定义异常A时,要在B方法上声明异常A

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马