ข้อยกเว้น C# เป็นการตอบสนองต่อสถานการณ์พิเศษที่เกิดขึ้นในขณะที่โปรแกรมกำลังทำงานอยู่ เช่น การพยายามหารด้วยศูนย์
การจัดการข้อยกเว้น C# ดำเนินการโดยใช้คำหลักต่อไปนี้ -
-
ลอง − บล็อกการลองระบุกลุ่มของรหัสที่เปิดใช้งานข้อยกเว้นเฉพาะ ตามด้วยบล็อกจับอย่างน้อยหนึ่งบล็อก
-
จับ − โปรแกรมจับข้อยกเว้นด้วยตัวจัดการข้อยกเว้นที่ตำแหน่งในโปรแกรมที่คุณต้องการจัดการกับปัญหา คีย์เวิร์ด catch ระบุถึงการดักจับข้อยกเว้น
-
ในที่สุด − บล็อกสุดท้ายถูกใช้เพื่อดำเนินการชุดคำสั่งที่กำหนด ไม่ว่าจะส่งข้อยกเว้นหรือไม่ส่ง ตัวอย่างเช่น หากคุณเปิดไฟล์ จะต้องปิดไฟล์ไม่ว่าจะมีข้อยกเว้นหรือไม่
ต่อไปนี้คือตัวอย่างที่แสดงวิธีจัดการกับข้อยกเว้นใน C# -
ตัวอย่าง
using System;
namespace ErrorHandlingApplication {
class DivNumbers {
int result;
DivNumbers() {
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);
}
}
static void Main(string[] args) {
DivNumbers d = new DivNumbers();
d.division(25, 0);
Console.ReadKey();
}
}
} ผลลัพธ์
ด้านบน เราได้ตั้งค่าในการลองแล้วจับข้อยกเว้นในการจับ ในที่สุดก็ตั้งค่าให้แสดงผล -
try {
result = num1 / num2;
} catch (DivideByZeroException e) {
Console.WriteLine("Exception caught: {0}", e);
} finally {
Console.WriteLine("Result: {0}", result);
}