因为我发现,无论我用不用 try catch 效果都一样
是 未处理 的异常
那 try catch 算不算 处理异常?不好意思,我比较白
@丑拒: 算.但如果你的处理是直接吃掉.啥也不操作.或者啥也不操作直接返回.
就不算.
@吴瑞祥: 就是说,我写了try catch但是没有进行处理,还是算未处理的异常对吗?
@丑拒: 就是字面意思.未处理.
不要想些有的没的.乱了就冷静一下.你只要想明白:未处理
就行了
个人觉得异常分为可预期和非可预期,可预期的异常就应该在某一处try catch处理掉,那么是否要向上抛呢?主要看是否这个异常是否可允许?比如网络连接的封装,错误就不一定要往上抛了
谢谢
能处理的尽量提前处理,不能处理的往上抛。
比如查找某条数据不存在,可以抛给界面,让用户知道。如果直接抛到处理全局异常的函数,拿到这个消息都没法比显示到界面,只能写条日志。
比如读取一个非重要配置,格式错误 可以try catch之后使用默认值。你抛到上面去,整个程序因为配置失败而无法运行。
谢谢