1. ห่วงโซ่ข้อยกเว้นมีอยู่ในตัวสร้าง Java นั่นคือเราสามารถเชื่อมต่อข้อยกเว้นอย่างต่อเนื่องกับห่วงโซ่ข้อยกเว้นผ่านตัวสร้าง ...
เหตุผลที่จำเป็นต้องมีการเชื่อมต่อข้อยกเว้นเป็นเพราะความเข้าใจในรหัสรวมถึงการบำรุงรักษาของการอ่านและโปรแกรม ...
เรารู้ว่าทุกครั้งที่เรามีข้อยกเว้นเราต้องลองจับ ... แล้วรหัสจะไม่ป่องมาก ...
หากเราสามารถเชื่อมต่อข้อยกเว้นในการเชื่อมต่อข้อยกเว้นได้เราจะจับข้อยกเว้นการห่อของเราเท่านั้นเรารู้ว่า RuntimeException และคลาสที่ได้รับสามารถจับได้และประมวลผลโดย JVM โดยอัตโนมัติโดยไม่ต้องลองจับ ..
แน่นอนว่าเราสามารถกำหนดคลาสข้อยกเว้นของเราเองที่จะได้มาจาก RuntimeException จากนั้นผ่าน wrapper ระดับหนึ่ง หากข้อยกเว้นปรากฏขึ้น JWM เอาต์พุตโดยตรงจะเกิดขึ้นผ่าน runtimeException ที่กำหนดเองของเรา
(เหตุผล) เป็นห่วงโซ่ข้อยกเว้นของเรา ... ดังนั้นข้อยกเว้นทั้งหมดของเราจึงเป็นเอาต์พุตซึ่งจะช่วยลดรหัสการจัดการข้อยกเว้นจำนวนมาก - -
ข้อผิดพลาดรันทิมเอ็กเซ็ทข้อยกเว้นเพียงข้อยกเว้นจะเป็นกลไกสำหรับการสร้างวิธีการเพื่อใช้โซ่ข้อยกเว้น - - ต้องใช้ข้อยกเว้นอื่น ๆ ผ่านการเริ่มต้น
สร้างการเชื่อมต่อข้อยกเว้น ...
โค้ดชิ้นต่อไปนี้เป็นตัวอย่างง่ายๆของการเชื่อมต่อข้อยกเว้น ... คุณสามารถพิมพ์ข้อยกเว้นที่เกิดขึ้นได้ตลอดทั้งโปรแกรม -
การทดสอบระดับสาธารณะ {โมฆะคงที่สาธารณะ A () โยนข้อยกเว้น {// ด้านบนข้อยกเว้นเพื่อจัดการกับการลองที่เหนือกว่า {b (); } catch (exception e) {โยนข้อยกเว้นใหม่ (e); }} โมฆะคงที่สาธารณะ b () พ่นข้อยกเว้น {// ด้านบนข้อยกเว้นเพื่อจัดการการลองที่เหนือกว่า {c (); } catch (exception e) {โยนข้อยกเว้นใหม่ (e); }} โมฆะคงที่สาธารณะ c () พ่นข้อยกเว้น {// ด้านบนข้อยกเว้นเพื่อจัดการการลองที่เหนือกว่า {โยน nullpointerexception ใหม่ ("C Pointer Exception ในห่วงโซ่ยกเว้น .. "); } catch (nullpointerexception e) {โยนข้อยกเว้นใหม่ (e); }} โมฆะคงที่สาธารณะหลัก (สตริง [] args) {ลอง {a (); } catch (exception e) {e.printstacktrace (); -2. ลองจับ ... ในที่สุดก็มีช่องโหว่ซึ่งเป็นข้อยกเว้น ตัวอย่างเช่นการจับสามครั้งจะซ้อนกันเข้าด้วยกัน ทั้งสองลองจับข้างในไม่สามารถจับได้ .... เลี้ยวโดยตรงลองในที่สุด ..
เมื่อดูรหัสต่อไปนี้เราพบว่ามีข้อมูลข้อยกเว้น 2 รายการหายไป
คลาสสาธารณะ mytest {โมฆะสาธารณะเปิด () โยนข้อยกเว้น {โยนข้อยกเว้นใหม่ () {สตริงสาธารณะ toString () {return this.getClass (). getName ()+"CeryimmportException"; - - } โมฆะสาธารณะปิด () โยนข้อยกเว้น {โยนข้อยกเว้นใหม่ () {สตริงสาธารณะ toString () {return this.getClass (). getName ()+"ข้อยกเว้นปิด"; - - } โมฆะสาธารณะสาม () โยนข้อยกเว้น {โยนข้อยกเว้นใหม่ () {สตริงสาธารณะ toString () {return this.getClass (). getName () + "สาม"; - - - } โมฆะคงที่สาธารณะหลัก (string [] agrs) {mytest mt = new mytest (); ลอง {ลอง {ลอง {mt.open (); } ในที่สุด {system.out.println ("ลบเปิด"); mt.close (); }} ในที่สุด {system.out.println ("ลบปิด"); Mt.three (); }} catch (Exception ex) {ex.printstacktrace (); -บทความข้างต้นกล่าวถึงโซ่ยกเว้น Java และการสูญเสียข้อยกเว้นเป็นเนื้อหาทั้งหมดที่ฉันได้แบ่งปันกับคุณ ฉันหวังว่ามันจะให้ข้อมูลอ้างอิงและฉันหวังว่าคุณจะสนับสนุน wulin.com มากขึ้น