处理底层API抛出的异常包括3种方法:
1.上层API先检查输入参数,然后调用下层API以避免触发异常
2.上层API捕获下层API触发的异常后,使用日志进行记录。上层API不触发任何异常
3.上层API捕获下层API触发的异常后,封装为上层API的异常类对象抛出。此方式又称为异常传递链,如下:
try{
//....
}catch(LowerLevelException cause){
//下层异常对象作为引起上层异常的cause传递给上层异常对象
//可以调用异常对象的getCause()获取引起此异常的原因
throw new HigherLevelException(cause);
}
只有在上层API没有合适的方式预防或处理下层API触发的异常,才使用异常传递链进行处理。异常传递链可以避免下层API“污染”上层API