Exception 捕获异常还是不惜任何代价避免异常更好?

Exception 捕获异常还是不惜任何代价避免异常更好?,exception,exception-handling,fault-tolerance,Exception,Exception Handling,Fault Tolerance,处理异常时的最佳实践是什么 我通常不惜任何代价编写代码来避免异常,我的代码通常有很多条件,如果我处理的是规范化数据库,我通常会编写一系列查询来仔细检查值是否已经存在 然而,我看到过只侦听异常的代码,如果发生异常,则会对其进行适当的处理 这种情况下的最佳实践是什么 是避免错误并在错误发生之前进行处理更好,还是捕获异常并将其引导到正确的位置更好 就性能而言,我发现捕捉异常更快;特别是如果有数据库的话 但是,我觉得有些异常对于特定的场景来说太普遍了,除非看到堆栈跟踪,否则很难确定为什么会发生异常 也就

处理异常时的最佳实践是什么

我通常不惜任何代价编写代码来避免异常,我的代码通常有很多条件,如果我处理的是规范化数据库,我通常会编写一系列查询来仔细检查值是否已经存在

然而,我看到过只侦听异常的代码,如果发生异常,则会对其进行适当的处理

这种情况下的最佳实践是什么

是避免错误并在错误发生之前进行处理更好,还是捕获异常并将其引导到正确的位置更好

就性能而言,我发现捕捉异常更快;特别是如果有数据库的话

但是,我觉得有些异常对于特定的场景来说太普遍了,除非看到堆栈跟踪,否则很难确定为什么会发生异常

也就是说,除非您有一个错误报告工具(rollbar、new relic等),否则如果您有面向客户的界面,并且您收到的票证仅包含“X页面中的500个错误”,那么在日志中很难找到堆栈跟踪


如果这个问题对于stackoverflow来说过于宽泛,请随意关闭它

如果数据库中发生了并发更新,并且您的数据库访问检查和写入方法不在一个事务中,您无论如何都必须实现异常处理。所以我想说,您最好只是实现一个彻底且稳定的异常处理。但要回答这个问题通常是非常困难的,因为这取决于具体情况