ข้อยกเว้น 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); }