对于在方法内部出现异常
程序不能继续运行,需要进行跳转时,就用throw把异常对象抛出去
定义方法时
需要把出现的问题暴露出来让调用者处理的话,就用throws声明一个异常
如果内部可以将问题处理
用try…catch…,try…catch之后的代码可以正常运行,如果处理不了就交由调用者处理
注意:
尽量不要用e.printStackTrace(),用log打印
- printStackTrace打印的堆栈日志跟业务代码日志交错在一起,日志排查不方便
- printStackTrace语句产生的字符串记录的是堆栈信息,如果信息过长,字符串常量池所在内存满了,用户的请求就会卡住
如果jdk没有提供对应的异常,可自定义异常实现RuntimeException或Exception