6
ส่วนใดของการโยนข้อยกเว้นมีราคาแพง
ใน Java การใช้ throw / catch เป็นส่วนหนึ่งของตรรกะเมื่อไม่มีข้อผิดพลาดจริง ๆ แล้วเป็นความคิดที่ไม่ดี (ส่วนหนึ่ง) เนื่องจากการขว้างและจับข้อยกเว้นนั้นมีราคาแพงและการทำมันหลายครั้งในลูปมักจะช้ากว่าคนอื่น โครงสร้างการควบคุมที่ไม่เกี่ยวข้องกับการโยนข้อยกเว้น คำถามของฉันคือมีค่าใช้จ่ายเกิดขึ้นในการโยน / จับเองหรือเมื่อสร้างออบเจ็กต์ข้อยกเว้น (เนื่องจากได้รับข้อมูลรันไทม์จำนวนมากรวมถึงสแต็กการเรียกใช้งาน) กล่าวอีกนัยหนึ่งถ้าฉันทำ Exception e = new Exception(); แต่อย่าโยนมันเป็นค่าใช้จ่ายส่วนใหญ่ของการขว้างปาหรือการโยนและการจับเป็นสิ่งที่มีค่าใช้จ่ายสูงหรือไม่ ฉันไม่ได้ถามว่าการวางรหัสในบล็อกแบบลอง / จับเพิ่มค่าใช้จ่ายในการดำเนินการรหัสนั้นหรือไม่ฉันกำลังถามว่าการจับข้อยกเว้นเป็นส่วนที่มีราคาแพงหรือการสร้าง (เรียกตัวสร้างสำหรับ) ข้อยกเว้นเป็นส่วนที่มีราคาแพง . อีกวิธีหนึ่งในการถามนี้คือถ้าฉันทำตัวอย่างข้อยกเว้นแล้วขว้างและจับมันซ้ำแล้วซ้ำอีกนั่นจะเร็วกว่าการสร้างข้อยกเว้นใหม่ทุกครั้งที่ฉันโยนหรือไม่
256
java
performance
exception