C#中的异常处理语句

(一):try-catch语句
try-catch语句是由一个try块后跟一个或者多个catch子句构成,这些子句指定不同的异常处理程序。
try块包含可能导致异常的保护代码。该块一直执行到引发异常或成功完成为止。
catch子句使用时不带任何参数,这种情况下它捕获任何类型的异常,并被称为一般catch子句。它还可以接受从System.Exception派生的对象参数,这种情况下他处理特定的异常。例如:

 1 static void Main(string[] args)
 2         {
 3             try
 4             {
 5                 //除数不能为0
 6                 int numone = 0;
 7                 float numtwo = 123 / numone;
 8             }
 9             catch (Exception ex)
10             {
11                 //获取描述当前异常的信息
12                 Console.WriteLine(ex.Message);
13             }
14         }

代码执行的结果为:“尝试除以0”

注意:try块后跟多个catch子句时,catch块的顺序很重要,因为会按顺序检查catch子句。将先捕获特定程度较高的异常,然后捕获特定程度较小的异常。

(二):try-finally语句
finally块用于清楚try中分配任何资源,以及运行任何即使在发生异常时也必须执行的代码。控制台总是传递给finally块,与try块的退出方式无关。
catch用于处理语句块中出现的异常,而finally用于保证代码语句的执行,与前面的try的退出方式无关。例如:

 1 static void Main(string[] args)
 2         {
 3             int numone = 0;
 4             try
 5             {
 6                 //除数不能为0
 7                 float numtwo = 123 / numone;
 8             }
 9             finally
10             {
11                 Console.WriteLine(numone);
12             }
13         }

此段代码虽然引发了异常,但finally块中的输出语句任然会执行。

(三):try-catch-finally语句
通常,try块、catch块、finally块是一起使用的。在try块中获取并使用资源,在catch块中处理异常情况,并在finally块中释放资源。
(四):throw语句
throw语句用于立即无条件的引发异常,控制永远不会到达紧跟在throw的语句。通常throw语句与try-catch语句或try-finally语句一起使用。当引发异常时,程序查找处理此异常的catch语句.

 

C#中的异常处理语句

上一篇:MySQL基准测试工具--sysbench


下一篇:为什么在sql语句中使用COALESCE()?