日期:2014-05-17  浏览次数:21221 次

用Try Catch语句有什么好处
大侠“fangxinggood”说:
有点多事,在UI层的事件处理中没有Try,Catch这样导致Application轻易就崩溃。
而且不能Log错误堆栈,不方便错误调查。应该加上。


在下不经常使用“Try  Catch”语句,不熟悉它的功能。只知道他是抛出异常然后捕获异常,进行处理。

问题1:Try  Catch语句怎样使用?
问题2:Try Catch语句有什么功能?
问题3:何为“UI”层,就是用户操作界面?
问题4:“不能Log错误堆栈”,什么是“Log错误”


------解决方案--------------------
显然不只是UI层,任何可能出现错误而你设计时必然无法左右的地方,都可以用try,catch。
电脑上本没有异常机制,就像c++中不限制一个字节的byte等于255时依然可以执行加1操作一样。异常机制是一种额外的保护机制,当你的软件需要时,可以通过throw new Exception()抛出异常,以一种非正常结束的状态结束函数调用通知调用方,调用的地方如果没有使用try,catch捕获异常,则继续向上抛出直到最终呈献给用户一个红色的叉叉,和一堆例如:程序异常关闭,请联系xxxx等的字样。
try catch就是为了捕获异常的。
例如

try
{
    //可能异常的代码,例如
    object o = new object();
    o = null;
    MessageBox.Show(o.GetType().Name);//这里o是null会有NullRefranceException
}
catch(Exception ex)
{
    //你这里捕获到异常了,可以考虑记录到文件中,以便后续查找错误,也可以其他方式处理
    File.AppendAllText("errorlog.txt",ex.Message);
}

------解决方案--------------------
try catch
就是可能会出错的代码块用这个包起来,
这样就能抛出异常,可以检查代码,一般的书籍都有介绍的,这个功能挺长的,
LZ最好可以去找本书籍看看.

------解决方案--------------------
try catch
调试的时候很好用
有些错误无法找到的时候,在认为可能错误的地方用try catche找错误很方便
能够一目了然的知道是什么错误
------解决方案--------------------
可以避免程序在有错的情况下运行不至于崩溃~
------解决方案--------------------
捕获异常!!!
------解决方案--------------------
捕获异常
易于调试
可以记录错误到日志
------解决方案--------------------
哦?还有坏处呢啊,才知道
------解决方案--------------------
引用:
...
电脑上本没有异常机制,
...

这句话(只这句话)不敢同意。
------解决方案--------------------

每天回帖即可获得10分可用分!小技巧:教您如何更快获得可用分
------解决方案--------------------
是一种错误处理机制
比如
try
{
代码
}
catch(Exception e)
{
 
}
假如代码中有异常 加上try catch后也不会导致程序崩盘,没加的话,就会崩盘
何为“UI”层,就是用户操作界面,user interface 的简写
------解决方案--------------------
try-catch 语句由一个 try 块后跟一个或多个 catch 子句构成,这些子句指定不同的异常处理程序。 

备注
--------------------------------------------

try 块包含可能导致异常的保护代码。该块一直执行到引发异常或成功完成为止。例如,下列强制转换 null 对象的尝试引发 NullReferenceException 异常:

object o2 = null;
try
{
    int i2 = (int)o2;   // Error
}

catch 子句使用时可以不带任何参数,这种情况下它捕获任何类型的异常,并被称为一般 catch 子句。它还可以接受从 System.Exception 派生的对象参数,这种情况下它处理特定的异常。例如: