異常是程式執行過程中出現的問題。 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中文網其他相關文章!