gpt4 book ai didi

c# - 全局异常处理 VS Try catch everywhere

转载 作者:太空宇宙 更新时间:2023-11-03 14:39:09 30 4
gpt4 key购买 nike

最近,我在我的代码中使用了全局异常处理,我开始知道可以处理所有异常。以前我在每个 Controller 上使用 try-catch,现在我已经从 Controller 中删除了所有 try-catch,因为全局异常可以处理所有类型的异常。

所以我怀疑,删除我之前在 Controller 中用于全局异常处理的所有异常处理是否是一个好习惯,或者应该同时使用全局异常处理,以及 Controller 中的 try-catch。

如果需要try-catch,是否有必要在 Controller 级别处理所有异常。

我当前的工作堆栈是 - .Net Core。

最佳答案

这个问题太宽泛,无法给出完整的答案,但让我谈谈我对此事的看法。

try-catch-finally block 不用于处理未处理的异常。想不到的事情自然会得不到处理,你不应该闭口不谈,而应该让它们表现出来,让你去思考。处理的异常虽然是不在程序员手中但他/她已经考虑过的情况。例如,用户输入的是字符串而不是数字。

如果情况确实如您所想但在您的控制之中,请始终检查 if。例如,如果某物可以为空。 Try-catch 非常昂贵,不应在其中处理任何逻辑。

另一方面,使用全局异常处理程序恰恰相反。它不是包装所有的思考案例并向用户显示一个单一的响应。您应该记录未知的异常,然后回过头来思考它们发生的原因,同时向用户说声对不起。 :)

关于c# - 全局异常处理 VS Try catch everywhere,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58361013/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com