freeCodeCamp/guide/chinese/csharp/exceptions/index.md

1.2 KiB
Raw Blame History

title localeTitle
Exceptions 例外

例外

例外是程序运行时发生的意外错误,例如尝试访问不存在的文件。如果不处理,它将停止程序。

如果我们尝试读取不存在的文件的文本:

using System.IO; 
 
 string content = File.ReadAllText(@"C:\DoesNotExist.txt"); 

将引发FileNotFoundException

其他一些常见例外:

  • IndexOutofRangeException :尝试访问具有无效索引的数组。
  • NullReferenceException :尝试使用未分配的引用变量。
  • DivideByZeroException 尝试除以0。

最佳实践

使用try / catch / finally块

try 
 { 
   var client = new WebClient(); 
   var resultData = client.DownloadString("http://github.com"); 
 } 
 catch (Exception ex) 
 { 
   //code for handling exceptions 
 } 
 finally 
 { 
   //this code is always executed, does not matter if an exception is thrown or not 
 } 

处理条件可能存在的例外情况

代替

try 
 { 
   conn.Close(); 
 } 
 catch (Exception ex) 
 { 
   //code for handling exceptions. 
 } 

试试这个

if (conn.State != ConnectionState.Closed) 
 { 
    conn.Close(); 
 }