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

© 强强_U00ts 中级黑马   /  2015-7-19 20:59  /  376 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

:1,函数内容如果抛出需要检测的异常,那么函数上必须要声明。否则必须在函数内用try catch捕捉,否则编译失败。(注意:RuntimeException除外;也就是说如果函数内抛出的是RuntimeException异常,函数上可以不用声明)
2,如果调用到了声明异常的函数,要么try catch要么throws,否则编译失败。
3,什么时候catch,什么时候throws 呢?     (1)功能内容可以解决,用catch。(需要定义针对性的处理方式,不要简单的定义printStackTrace输出语句)     (2)解决不了,用throws告诉调用者,由调用者解决。
4,一个功能如果抛出了多个异常,那么调用时,必须有对应多个catch进行针对性的处理。内部有几个需要检测的异常,就抛几个异常,抛出几个,就catch几个。(多个catch,父类的catch放到最下面)
5,子类在覆盖父类方法时,子类抛出的异常必须是父类的异常的子类或者子集。如果父类或者接口没有异常抛出时,子类覆盖出现异常,那么子类覆盖时就只能try不能抛。异常的好处和弊端:好处就是,将正常流程代码和问题处理代码分离。提高阅读性。而弊端就体现在代码上,不得不仔细找出来每一个异常,并进行相关的处理方式,每一种都会牵扯出一段代码,造成代码结构臃肿。

0 个回复

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