首页 > 代码库 > 异常 2014年6月9日07:58:39

异常 2014年6月9日07:58:39

 1             System.IO.File.Delete("c:\\2.txt");
 2 
 3             try
 4             {
 5                 //抛出异常:throw exception
 6                 System.IO.File.Delete("c:\\sln20110305.exe");
 7                 Console.WriteLine("删除exe成功");
 8             }
 9             catch//如果try括号中的代码发生异常,则catch中的代码会被执行
10             {
11                 Console.WriteLine("删除失败");
12             }
 1             try
 2             {
 3                 //抛出异常:throw exception
 4                 System.IO.File.Delete("c:\\sln20110305.exe");
 5                 Console.WriteLine("删除exe成功");
 6             }
 7             //catch(Exception ex)//抓住所有的异常
 8             catch (UnauthorizedAccessException ex)//只抓UnauthorizedAccessException异常
 9             {
10                 //UnauthorizedAccessException
11                 //所有的异常信息对象的类都是直接或者间接从Exception类继承
12                 Console.WriteLine("删除失败,错误{0},堆栈{1}",
13                     ex.Message, ex.StackTrace);//异常错误的消息,异常的堆栈---异常发生的位置
14             }
15 
16             //try的括号中的代码如果出现异常,则抛出异常的语句向下到try结束的代码都不会执行
17             //但是出了try的代码还是会执行
18             Console.WriteLine("准备删除1.txt");
19             System.IO.File.Delete("c:\\1.txt");
20             Console.WriteLine();

发生异常后程序默认就退出了,try代码块中的后续代码不会被执行。catch以后的代码则会继续执行。

 1             try
 2             {
 3                 System.IO.File.Delete(@"c:\sln20110305.exe");
 4             }
 5             catch (Exception ex)
 6             {
 7                 Console.WriteLine(ex.Message);
 8             }
 9             //可以try...catch...finally,也可以try...finally
10 
11             finally//无论try中的代码是否执行成功,finally都会在try结束后执行finally中的代码
12             {
13                 Console.WriteLine("执行完成");
14                 Console.ReadKey();
15             }
16             //如果没有catch异常,那么如果发生异常
17             //try后的代码不会执行,但是finally会执行
18             //这就是在try后写代码和finally中写代码的区别
19             Console.WriteLine("2");