日期:2014-05-18  浏览次数:20754 次

每个函数都捕捉异常吗?
小疑问

为避免未知错误导致软件自动关闭,
是不是为每个函数都加上异常捕捉?

C# code

         try{
               ............
             }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }



如果一个程序函数很多的话,要为每个函数加上异常捕捉?
如果是这样,那整个程序代码就多了很多了。
有没有办法共用一个异常捕捉函数?







------解决方案--------------------
说实话:理论上每个函数加try catch 很不明智;

但是,在实际工作中,我也是 不管三七二十一的加;


但是,更多的代码,我更习惯 一行 try-catch 代码都不加:我习惯写理想主义的代码,让程序理想主义的运行;
——但是,实际工作中没有理想主义环境!

加 try-catch 或多或少需要视 你对你自己的代码 的信任程度,你能百分百信任你的代码不会有异常,你可以尝试不加这个东西!

------解决方案--------------------
自己写方法来捕捉异常,直接调用自己的方法,就不用每个都写try catch
------解决方案--------------------
try catch会非常影响效率,这点上面的都说了

如果说你想每个方法都捕捉到异常的话,那么你去写个基类,基类里面对异常进行分析并入库,然后每个页面去继承这个基类

那么不管你哪个页面运行哪个方法,只要有异常,都会被捕获,并写入数据库作为日志文件
------解决方案--------------------
把TRY CATCH定义一个公共方法,再把要执行的方法当成参数丢进这个方法,在这个方法的try块里执行传入的方法,代码量省了,每个方法的try catch也加了.