成人英语培训网 加入收藏  -  设为首页
您的位置:成人英语培训网 > 知识百科 > 正文
C#中如何处理异常?怎么使用try-catch语句?
C#中如何处理异常?怎么使用try-catch语句?
提示:

C#中如何处理异常?怎么使用try-catch语句?

使用try-catch来对代码中容易出现异常的语句进行异常捕获。 try {   可能出现异常的代码; } catch {   出现异常后需要执行的代码; } 注: 1、在执行过程中,如果try中的代码没有出现异常,那么catch中的代码就不会执行。如果try中的代码出现了异常,则不会继续执行try里面的代码,转而执行catch中的代码。 2、一般在写完整篇代码后才在代码中找可能会出现异常的地方,然后再添加try-catch。 3、在try-catch之间不能含有其他的代码。 扩展资料 导致异常的代码被括在 try 块中。 在其后面紧接着添加一个 catch 语句,以便在 IndexOutOfRangeException 发生时对其进行处理。 catch 块处理 IndexOutOfRangeException,并引发更适当的 ArgumentOutOfRangeException 异常。 为给调用方提供尽可能多的信息,应考虑将原始异常指定为新异常的 InnerException。 因为 InnerException 属性是只读,所以必须在新异常的构造函数中为其赋值。 finally 语句的目的是确保即使在引发异常的情况下也能立即进行必要的对象(通常是保存外部资源的对象)清理。此类清理功能的一个示例是在使用后立即对 FileStream 调用 Close,而不是等待公共语言运行时对该对象进行垃圾回收。 参考资料来源: 百度百科——异常语句

C#中如何处理异常?怎么使用try-catch语句?
提示:

C#中如何处理异常?怎么使用try-catch语句?

C#中通常使用try-catch语句来捕获和处理异常。下面我们看看try-catch语句的使用语法。
try
{
可执行语句块;
}
catch
(
Exception
e
)
{
异常处理语句;
throw;
}
1、try语句块中放置可能存在异常的代码块。若执行try语句块时有异常发生,则程序抛出的异常,由catch语句捕获;若try语句块没产生异常,程序会直接跳出try-catch语句。
2、catch语句块紧跟在try语句块后面,它可以捕获try语句块中抛出的异常。注意catch关键字后有一对小括号,小括号中需放置异常类参数,参数名是可省略的。当try语句抛出异常时,抛出的异常类型会与catch语句中的异常类型进行匹配,若匹配成功,则执行catch语句块中的内容。
3、Exception是所有异常类的父类,它能和所有异常类匹配。前一小节抛出的IndexOutOfRangeException异常类也是Exception的子类。需注意的是:如果catch语句块不带参数,那么catch语句也能捕获所有异常。
4、throw关键字表示抛出一个异常,可省略。
同时try-catch语句通常和finally语句一起使用,具体的使用方法可以参考秒秒学网站讲解异常的那一章,其实上面的内容我也是从那里学来的。

try,catch,finally都有return语句时执行哪个
提示:

try,catch,finally都有return语句时执行哪个

1、不管有木有出现异常,finally块中代码都会执行;
2、当try和catch中有return时,finally仍然会执行;
3、finally是在return后面的表达式运算后执行的(此时并没有返回运算后的值,而是先把要返回的值保存起来,管finally中的代码怎么样,返回的值都不会改变,任然是之前保存的值),所以函数返回值是在finally执行前确定的;
4、finally中最好不要包含return,否则程序会提前退出,返回值不是try或catch中保存的返回值。
最终结论:任何执行try 或者catch中的return语句之前,都会先执行finally语句,如果finally存在的话。
如果finally中有return语句,那么程序就return了,所以finally中的return是一定会被return的,
编译器把finally中的return实现为一个warning。
ps:摘自CSDN http://blog.csdn.net/kavensu/article/details/8067850