1.在工具类中的异常一般直接抛出去。
2.在某一层中出现的异常
(1)例如在Web程序中 web->service->Dao中,Dao层出现的异常需要将异常转型成为RuntimeExeception(e),抛上去。
(2)如果想要把异常作为返回值,告诉上层,则要将抛出指定类型的自定义异常给上层(例如在Dao层的删除函数中,如果函数返回void,那么对于删除不存在的记录就应该定义RecoredNotExisted异常给上层。)
3.在界面成出现的异常
(1) 对于下层抛出的可以预料的异常如1.2中所说的RecordNotExisted异常,我们需要捕捉,翻译成为对应的提示信息给用户。
(2)对于下层抛出的异常(运行时异常和编译时异常,这些都不是我们故意设计的)就要捕捉,然后向用户提示“系统忙”等含糊的的提示信息。
(3)对于可以预料的(1)类异常,不写日志;对于(2)类异常,一定要写系统日志便于调试。