C#Try-Catch&Exception处理

use*_*399 0 .net c# asp.net exception-handling try-catch

在当前项目的代码的各个部分中,不断使用

try
{
    //code
}
catch(Exception e)
{
    //display nicely formatted error message
}
Run Code Online (Sandbox Code Playgroud)

我的问题是,假设代码处理所有已知/假设的错误(例如检查对象是否为空等),是否应该在代码中放置try-catch,以便在应用程序全局格式中显示错误?

或者更好的做法是让错误抛出异常并让应用程序自然崩溃?

谢谢

das*_*ght 6

捕获这样的所有异常不是一个好习惯,除了在应用程序的顶层,您显示一个很好的错误消息.做得对,它可以保持最终用户对您的程序的看法略有错误,但整体上是合理的.相比之下,让您的应用程序崩溃是让最终用户相信您的应用程序无法修复的最简单方法.

就异常预防而言,有两种主要的异常 - 编程错误(空指针,类强制转换,超出范围等)和环境错误(未找到文件,网络路径不可用,用户输入错误等).你可以而且应该避免第一种,并准备好处理第二种.