异常是一种对象,用来表示异常的情况.
分为检查异常和非检查异常.
检查异常必须用try-catch进行处理.非检查异常则不用.
建议避免 要求客户代码去处理器异常,可以考虑返回某个值,客户代码瘵处理返回值作为正常流程的一部分.或者考虑,根据在客户代码中执行有效性的验证.
最糟糕的处理方法:(空catch)
try {
doSometing();
} catch (Exception e) {
//log or nothing
}
空catch语句几乎在任何情况下都是不合适的.
catch块中重新抛出异常,称为'重新抛出异常'.
重新抛出异常的目的在于:在尽可能接近源头的地方捕获异常,并进行日志,然后再传递该异常.这种技术使得追溯问题的源头变得更加容易.
*** 避免传递异常,但也不能创建空catch块
分为检查异常和非检查异常.
检查异常必须用try-catch进行处理.非检查异常则不用.
建议避免 要求客户代码去处理器异常,可以考虑返回某个值,客户代码瘵处理返回值作为正常流程的一部分.或者考虑,根据在客户代码中执行有效性的验证.
最糟糕的处理方法:(空catch)
try {
doSometing();
} catch (Exception e) {
//log or nothing
}
空catch语句几乎在任何情况下都是不合适的.
catch块中重新抛出异常,称为'重新抛出异常'.
重新抛出异常的目的在于:在尽可能接近源头的地方捕获异常,并进行日志,然后再传递该异常.这种技术使得追溯问题的源头变得更加容易.
*** 避免传递异常,但也不能创建空catch块