为什么那个异常管理代码会发臭?

Chr*_*ove 3 c# exception-handling exception

为什么不建议(以最好的实践意义)从入口点管理系统的所有异常.

class Program
    {
        static void Main(string[] args)
        {
              try
              {
                 [...]//all the program stuff
              }catch(Exception ex)
              {
                    [...]
              }
        }
    }
Run Code Online (Sandbox Code Playgroud)

编辑: 在第二点,它是否改变了性能的一些东西?

Joa*_*son 5

我们并不建议你应该在可以以有用的方式实际处理它们的地方捕获异常.

如果您无法对异常做任何事情但崩溃,那么您的解决方案可以正常工作,但请考虑一个丢失的文件,它会给您一个例外.您是否愿意使用"OpenFile"方法中的对话框处理它(或者在这种情况下可能是您打开文件的方法的一部分)并且可能让用户有机会在继续之前浏览文件的位置,或者你宁愿把它扔回main并没有真正的选择,除了"日志和崩溃"?