การควบคุมการไหลใน try, catch และสุดท้ายสามารถเข้าใจได้โดยใช้ตัวอย่างต่อไปนี้ ในที่นี้ เรากำลังหารตัวเลขสองตัว -
ตัวอย่าง
ใช้ System;namespace ErrorHandlingApplication { คลาส DivNumbers { ผลลัพธ์ int; DivNumbers () { ผลลัพธ์ =0; } การแบ่งโมฆะสาธารณะ (int num1, int num2) { ลอง { ผล =num1 / num2; } จับ (DivideByZeroException จ) { Console.WriteLine ("ตรวจพบข้อยกเว้น:{0}", e); } ในที่สุด { Console.WriteLine("ผลลัพธ์:{0}", ผลลัพธ์); } } โมฆะคง Main (สตริง [] args) { DivNumbers d =DivNumbers ใหม่ (); d.ดิวิชั่น(25, 0); Console.ReadKey(); } }}
ผลลัพธ์
<ก่อน>ตรวจพบข้อยกเว้น:System.DivideByZeroException:พยายามหารด้วย zero.at ErrorHandlingApplication.DivNumbers.division (System.Int32 num1, System.Int32 num2) [0x00000] ใน :0 ผลลัพธ์:0ต่อไปนี้แสดงการควบคุมโฟลว์ในการจัดการข้อยกเว้นโดยใช้ try catch ในที่สุดใน C#
- หากมีข้อยกเว้นเกิดขึ้นในบล็อกการลอง การควบคุมจะถ่ายโอนไปยังบล็อกที่ดักจับ
- หลังจากบล็อก catch เสร็จสิ้น บล็อกสุดท้ายก็ใช้งานได้
- หากไม่มีข้อยกเว้นเกิดขึ้น ขั้นแรกให้ลองเกิดขึ้น จากนั้นจึงควบคุมโฟลว์เพื่อบล็อกในที่สุด