Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

การควบคุมการไหลในการลองจับในที่สุดใน C #


การควบคุมการไหลใน 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 เสร็จสิ้น บล็อกสุดท้ายก็ใช้งานได้
  • หากไม่มีข้อยกเว้นเกิดขึ้น ขั้นแรกให้ลองเกิดขึ้น จากนั้นจึงควบคุมโฟลว์เพื่อบล็อกในที่สุด