Oracle ยกข้อยกเว้นข้อใดขึ้นโดยปริยาย

Oracle ยกข้อยกเว้นข้อใดขึ้นโดยปริยาย
Oracle ยกข้อยกเว้นข้อใดขึ้นโดยปริยาย
Anonim

Internal exceptions ถูกยกขึ้นโดยปริยายโดยระบบรันไทม์ เช่นเดียวกับข้อยกเว้นที่ผู้ใช้กำหนด ซึ่งคุณได้เชื่อมโยงกับหมายเลขข้อผิดพลาดของ Oracle โดยใช้ EXCEPTION_INIT อย่างไรก็ตาม ข้อยกเว้นอื่นๆ ที่ผู้ใช้กำหนดจะต้องยกขึ้นอย่างชัดเจนโดยคำสั่ง RAISE

มีการยกข้อยกเว้นโดยปริยายอย่างไร

ข้อยกเว้นที่กำหนดไว้ล่วงหน้า ถูกยกขึ้นโดยปริยาย (โดยอัตโนมัติ) โดยระบบรันไทม์ ข้อยกเว้นที่ผู้ใช้กำหนดจะต้องยกขึ้นอย่างชัดเจนโดยคำสั่ง RAISE ในการจัดการกับข้อยกเว้นที่ยกขึ้น คุณต้องเขียนรูทีนแยกต่างหากที่เรียกว่าตัวจัดการข้อยกเว้น

Oracle ยกข้อยกเว้นใดโดยอัตโนมัติ

การยกเว้นภายใน จะถูกยกขึ้นโดยอัตโนมัติหากโปรแกรม PL/SQL ของคุณละเมิดกฎของ Oracle หรือเกินขีดจำกัดที่ขึ้นอยู่กับระบบ PL/SQL กำหนดข้อผิดพลาดทั่วไปของ Oracle ไว้ล่วงหน้าเป็นข้อยกเว้น ตัวอย่างเช่น PL/SQL ยกข้อยกเว้นที่กำหนดไว้ล่วงหน้า NO_DATA_FOUND ถ้าคำสั่ง SELECT INTO ไม่ส่งคืนแถว

ข้อยกเว้นใน Oracle คืออะไร

คำสั่ง RAISE จะหยุดการดำเนินการตามปกติของบล็อก PL/SQL หรือโปรแกรมย่อย และโอนการควบคุมไปยังตัวจัดการข้อยกเว้น คำสั่ง RAISE สามารถเพิ่มข้อยกเว้นที่กำหนดไว้ล่วงหน้าได้ เช่น ZERO_DIVIDE หรือ NO_DATA_FOUND หรือข้อยกเว้นที่ผู้ใช้กำหนดซึ่งคุณเป็นผู้กำหนดชื่อ

ข้อยกเว้นที่ไม่ได้กำหนดไว้ล่วงหน้าคืออะไร

ข้อยกเว้นที่ไม่ได้กำหนดไว้ล่วงหน้าคล้ายกับข้อยกเว้นที่กำหนดไว้ล่วงหน้า ยกเว้นพวกเขาไม่มีชื่อที่กำหนดไว้ล่วงหน้า พวกเขามีหมายเลขข้อผิดพลาด Oracle มาตรฐาน (ORA-) และข้อความแสดงข้อผิดพลาด ฟังก์ชัน EXCEPTION_INIT คุณสามารถดักจับข้อผิดพลาดของเซิร์ฟเวอร์ Oracle ที่ไม่ได้กำหนดไว้ล่วงหน้าได้โดยการประกาศก่อน