คุณสามารถรันคำสั่งในภาษา C# ในบริบทที่เลือกหรือไม่เลือกได้
ในการตรวจสอบ ข้อยกเว้นจะเพิ่มขึ้นตามเลขคณิตล้น ในขณะที่ในบริบทที่ไม่ได้ตรวจสอบ ส่วนเกินเลขคณิตจะถูกละเว้น
ตรวจสอบข้อยกเว้นแล้ว
ใช้คีย์เวิร์ดที่ตรวจสอบเพื่อเปิดใช้งานการตรวจสอบโอเวอร์โฟลว์อย่างชัดเจนสำหรับการดำเนินการทางคณิตศาสตร์และการแปลงประเภทอินทิกรัล สำหรับสิ่งนี้ เพียงแค่ตั้งค่าคำหลักที่เลือก
การตรวจสอบโอเวอร์โฟลว์สามารถเปิดใช้งานได้ด้วยตัวเลือกคอมไพเลอร์ การกำหนดค่าสภาพแวดล้อม หรือการใช้คีย์เวิร์ดที่ตรวจสอบ
res = checked(val + 10);
สมมติว่าค่าของ val คือ 2147483647 นั่นคือค่าสูงสุดของประเภท int ด้านบนจะทำให้เกิดข้อผิดพลาดเนื่องจากมีการตรวจสอบ ซึ่งช่วยให้สามารถตรวจสอบโอเวอร์โฟลว์ขณะใช้งานจริงได้
ยกเลิกการเลือกข้อยกเว้น
ใช้คีย์เวิร์ดที่ไม่ได้เลือกเพื่อป้องกันการตรวจสอบโอเวอร์โฟลว์สำหรับการดำเนินการทางคณิตศาสตร์แบบอินทิกรัลและการแปลง สำหรับสิ่งนี้ เพียงแค่ตั้งค่าคำหลักที่ไม่ได้เลือก
ที่นี่จะละเว้นการล้นเลขคณิต ใช้เพื่อป้องกันการตรวจสอบล้น
res =unchecked(val + 10);
สมมติว่าค่าของ val คือ 2147483647 ข้างต้นจะไม่เกิดข้อผิดพลาดเนื่องจากการป้องกันการตรวจสอบโอเวอร์โฟลว์โดยใช้คีย์เวิร์ดที่ไม่ได้ตรวจสอบ