首頁 > 後端開發 > C#.Net教程 > C# 中的異常

C# 中的異常

WBOY
發布: 2023-08-31 13:45:06
轉載
615 人瀏覽過

C# 中的异常

異常是程式執行過程中出現的問題。 C# 異常是對程式執行時出現的異常情況的回應,例如嘗試除以零。

異常提供了一種將控制權從程式的一個部分轉移到另一個部分的方法。 C# 例外處理基於四個關鍵字 -

  • try - try 區塊標識啟動特定例外的程式碼區塊。它後面跟著一個或多個 catch 區塊。

  • catch - 程式在程式中使用例外處理程序擷取例外狀況。想要處理這個問題。 catch 關鍵字表示捕捉異常。

  • finally −finally 區塊用於執行一組給定的語句,無論例外是否發生拋出或未拋出。例如,如果您開啟一個文件,則無論是否引發異常,都必須關閉該文件。

  • 拋出 − 程式在下列情況下拋出例外:出現問題了。這是使用 throw 關鍵字完成的。

C# 異常由類別表示。 C#中的異常類別主要是直接或間接衍生自System.Drawing類別。異常類。一些異常類別派生自 System.異常類別是 System.ApplicationException 和 System.SystemException 類別。

範例

讓我們看一個範例-

 即時示範

using System;
using System.Reflection;
public class Demo {
   public static void Main(){
      Type type = typeof(Subject);
      try {
         FieldInfo fieldInfo = type.GetField("SubName");
         MemberInfo[] info = type.GetMember("SubName");
         Console.Write("Members = ");
         for (int i = 0; i < info.Length; i++)
            Console.WriteLine(" {0}", info[i]);
         Console.WriteLine("FieldInfo = {0}", fieldInfo);
      }
      catch (ArgumentNullException e){
         Console.Write("{0}", e.GetType(), e.Message);
      }
   }
}
public class Subject{
   public string SubName = "Science";
}
登入後複製

輸出

這將產生以下輸出-

Members = System.String SubName
FieldInfo = System.String SubName
登入後複製

範例

現在讓我們看另一個範例-

 現場示範

using System;
public class Demo {
   int result;
   Demo() {
      result = 0;
   }
   public void division(int num1, int num2) {
      try {
         result = num1 / num2;
      }
      catch (DivideByZeroException e) {
         Console.WriteLine("Exception caught = {0}", e);
      }
      finally {
         Console.WriteLine("Result = {0}", result);
      }
   }
   public static void Main(string[] args) {
      Demo d = new Demo();
      d.division(100, 0);
   }
}
登入後複製

輸出

這將產生以下輸出-

Exception caught = System.DivideByZeroException: Attempted to divide by zero.
   at Demo.division(Int32 num1, Int32 num2) in d:\Windows\Temp0kebv45.0.cs:line 11 
Result = 0
登入後複製

以上是C# 中的異常的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:tutorialspoint.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板