เป็นการดีที่จะตรวจจับ RuntimeException หรือไม่
เป็นการดีที่จะตรวจจับ RuntimeException หรือไม่

วีดีโอ: เป็นการดีที่จะตรวจจับ RuntimeException หรือไม่

วีดีโอ: เป็นการดีที่จะตรวจจับ RuntimeException หรือไม่
วีดีโอ: Solve Critical Error When Activating WooCommerce ActionScheduler Database Migration Process Failed 2024, อาจ
Anonim

ผ้าห่ม- จับ ทุกอย่าง - ยกเว้นหรือ Throwable ซึ่งแย่กว่านั้นมาก - ไม่ใช่ แนวปฏิบัติที่ดี เพราะคุณคิดว่าคุณสามารถฟื้นตัวจากพฤติกรรมพิเศษใดๆ ได้ นอก: ใช่ จับ ข้อยกเว้นก็จะ catch RuntimeException เนื่องจาก Exception เป็นซูเปอร์คลาสของ RuntimeException.

ในทำนองเดียวกัน คุณอาจถามว่า เป็นแนวปฏิบัติที่ดีในการตรวจจับ RuntimeException หรือไม่

ผ้าห่ม- จับ ทุกอย่าง - ยกเว้นหรือ Throwable ซึ่งแย่กว่านั้นมาก - ไม่ใช่ แนวปฏิบัติที่ดี เพราะคุณคิดว่าคุณสามารถฟื้นตัวจากพฤติกรรมพิเศษใดๆ ได้ นอก: ใช่ จับ ข้อยกเว้นก็จะ catch RuntimeException เนื่องจาก Exception เป็นซูเปอร์คลาสของ RuntimeException.

อาจมีคนถามว่า เป็นการดีที่จะจับ NullPointerException หรือไม่ มักเป็นเรื่องไม่ดี ฝึกจับ NullPointerException . โปรแกรมเมอร์โดยทั่วไป จับ NullPointerException ภายใต้สามสถานการณ์: โปรแกรมมี dereference ตัวชี้ null จับ ข้อยกเว้นที่ได้นั้นง่ายกว่าการแก้ไขปัญหาพื้นฐาน

ต่อมา คำถามคือ เราสามารถจับ RuntimeException ได้หรือไม่

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

RuntimeException คืออะไร?

RuntimeException เป็นซูเปอร์คลาสของข้อยกเว้นที่สามารถส่งออกได้ระหว่างการทำงานปกติของ Java Virtual Machine ไม่จำเป็นต้องประกาศเมธอดในคำสั่ง throws คลาสย่อยใด ๆ ของ RuntimeException ที่อาจถูกโยนทิ้งระหว่างดำเนินการตามวิธีการแต่ไม่สามารถจับได้

แนะนำ: