Pengecualian ialah masalah yang berlaku semasa pelaksanaan program. Pengecualian C# ialah tindak balas kepada keadaan luar biasa yang berlaku semasa program berjalan, seperti percubaan untuk membahagi dengan sifar.
Pengecualian menyediakan cara untuk memindahkan kawalan dari satu bahagian program ke bahagian lain. Pengendalian pengecualian C# adalah berdasarkan empat kata kunci -
cuba - Blok cuba mengenal pasti blok kod yang mengaktifkan pengecualian tertentu. Ia diikuti oleh satu atau lebih blok tangkapan.
catch - Program menggunakan pengendali pengecualian untuk menangkap pengecualian dalam program. Nak uruskan isu ni. Kata kunci tangkapan bermaksud menangkap pengecualian.
akhirnya −akhirnya blok digunakan untuk melaksanakan set pernyataan yang diberikan tanpa mengira sama ada pengecualian dilemparkan atau tidak. Sebagai contoh, jika anda membuka fail, anda mesti menutupnya tanpa mengira sama ada pengecualian dilemparkan atau tidak.
Melempar − Program melemparkan pengecualian apabila: Sesuatu telah berlaku. Ini dilakukan menggunakan kata kunci lontaran.
Pengecualian C# diwakili oleh kelas. Kelas pengecualian dalam C# terutamanya diperoleh secara langsung atau tidak langsung daripada kelas System.Drawing. Kelas pengecualian. Beberapa kelas pengecualian diperoleh daripada kelas Kelas pengecualian ialah kelas System.ApplicationException dan System.SystemException.
Mari kita lihat contoh-
Demonstrasi Langsung
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"; }
Ini akan menghasilkan output berikut-
Members = System.String SubName FieldInfo = System.String SubName
Lihat contoh
Lihat secara langsung
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); } }
Ini akan menghasilkan output berikut -
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
Atas ialah kandungan terperinci Pengecualian dalam C#. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!