โดยทั่วไปมีสองวิธีในการจัดการข้อยกเว้นไม่ว่าจะจับข้อยกเว้นลองจับหรือโยนข้อยกเว้นโยน
หากวิธีการส่งข้อยกเว้นรันไทม์ (โยน runtimeException) หลังจากนั้นผู้โทรไม่จำเป็นต้องจัดการกับมัน
หากวิธีการถูกโยนลงหลังจากข้อยกเว้นเวลารวบรวมผู้โทรจะต้องจัดการกับมันไม่ว่าจะโยนหรือลองจับ;
ข้อยกเว้นในระหว่างการรันไทม์โดยทั่วไปจะไม่ได้รับการจัดการและโดยทั่วไปจะมีข้อผิดพลาดเชิงตรรกะในโปรแกรมเช่นตัวส่วนเป็น 0 เป็นตัวหาร - -
โปรดทราบว่าหากมีข้อยกเว้นเกิดขึ้นในการลองคำสั่งด้านล่างการลองจะไม่ถูกดำเนินการ กลับไปค้นหาการประมวลผลข้อยกเว้นการจับคู่จับและคำสั่งถัดไปจะถูกประมวลผล (นั่นคือคำสั่งหลังจากลอง-จับรอบสุดท้ายจะดำเนินการต่อไป)
-
* บางครั้งเราสามารถจัดการข้อยกเว้นได้ แต่บางครั้งเราไม่ได้รับอนุญาตให้จัดการข้อยกเว้นเลย
* หรือถ้าฉันไม่สามารถจัดการได้ฉันจะไม่จัดการกับมัน
* เพื่อแก้ปัญหาข้อผิดพลาด Java ให้ทางออกอื่นสำหรับสถานการณ์นี้: การขว้างปา
-
* รูปแบบ:
* โยนชื่อคลาสข้อยกเว้น
* หมายเหตุ: รูปแบบนี้จะต้องตามด้วยวงเล็บของวิธีการ
-
* สังเกต:
* พยายามอย่าโยนข้อยกเว้นเกี่ยวกับวิธีการหลัก
* แต่ฉันทำสิ่งนี้เพื่อความสะดวก
-
* สรุป:
* ข้อยกเว้นถูกโยนลงในช่วงระยะเวลาการรวบรวมและจะต้องจัดการโดยผู้โทรในอนาคต
* ข้อยกเว้นจะถูกโยนลงในระหว่างการรันไทม์และไม่จำเป็นต้องดำเนินการโทรในอนาคต
-
ข้อยกเว้นใด ๆ ของ RuntimeException และคลาสย่อยของมันจะไม่ถูกประมวลผล (ไม่ถูกโยนหรือจับ) หากคุณรู้จริง ๆ ว่าข้อยกเว้นจะถูกโยนลงไปที่รันไทม์ก็โอเคที่จะตรวจสอบตรรกะของการแก้ไขโปรแกรมโดยตรง! - -
ข้อยกเว้นของแพ็คเกจ; นำเข้า java.text.parseException; นำเข้า java.text.simpledateFormat; นำเข้า java.util.date; ข้อยกเว้นคลาสสาธารณะ demo {โมฆะคงที่สาธารณะหลัก (สตริง [] args) {system.out.println ("ก่อนที่จะเรียกวิธีการ"); {E.printStackTrace ();} system.out.println ("วิธีการโทร 2 หลังจากเรียกวิธีการ 1"); method2 ();} โมฆะคงที่ public method2 () โยน runtimeException {int a = 10; int b = 0; หากมีการโยนข้อยกเว้นผู้โทรไม่จำเป็นต้องจัดการกับข้อยกเว้น} วิธีการเป็นโมฆะคงที่สาธารณะ () พ่น parseexception {สตริงสตริง = "2015-05-30"; simpledateFormat sdf = new SimpledateFormat ("yyyy-mm-dd"); SimpledateFormat ("yyyy-mm-dd hh: mm: ss"); // ถ้าสตริงมีเพียง 2015-05-30 และไม่มีการติดตามผลมันจะเรียกใช้ข้อยกเว้นเพราะ SDF2 นี้ไม่สามารถจับคู่ hh: mm: ssdate date = sdf.parse (String); system.out.outแผนภาพโครงสร้างข้อยกเว้น:
เราโปรแกรมเมอร์ไม่สามารถจัดการข้อผิดพลาดได้โดยไม่ต้องจัดการกับพวกเขา
เราไม่จำเป็นต้องจัดการกับข้อยกเว้นรันไทม์ของข้อยกเว้นรันไทม์
คนอื่น ๆ เป็นข้อยกเว้นในช่วงเวลาการรวบรวมและเราต้องจัดการกับพวกเขา
ข้างต้นเป็นเนื้อหาทั้งหมดที่ตัวแก้ไขได้นำมาให้คุณเกี่ยวกับความแตกต่างระหว่างแผนภาพโครงสร้างที่ผิดปกติข้อยกเว้นช่วงเวลารวบรวมและข้อยกเว้นระยะเวลารัน ฉันหวังว่ามันจะเป็นประโยชน์กับทุกคนและสนับสนุน wulin.com เพิ่มเติม ~