Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Pengecualian dalam C#

Pengecualian dalam C#

WBOY
WBOYke hadapan
2023-08-31 13:45:06546semak imbas

C# 中的异常

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.

Contoh

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";
}

Output

Ini akan menghasilkan output berikut-

Members = System.String SubName
FieldInfo = System.String SubName

Contoh

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);
   }
}

Output

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!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam