คำถามติดแท็ก api-design

3
มีทฤษฎีของลำดับชั้นการยกเว้นหรือไม่?
ฉันคุ้นเคยกับภาษาการเขียนโปรแกรมหลายสิบภาษาที่มีข้อยกเว้นบางประการ แต่ฉันก็มาพบกับแนวโน้ม "พยาธิวิทยา" สองประการ ดูเหมือนจะไม่มีรูปแบบทั่วไปหรือลำดับชั้นของข้อยกเว้น ทุกภาษาจะม้วนเวอร์ชั่นของตัวเองและหากข้อยกเว้นทำให้เป็นมาตรฐานแล้วชนิดของข้อยกเว้นที่พบในมาตรฐานจะค่อนข้างโดยพลการ สตริงหรือข้อยกเว้นในการเรียกใช้ดีบักเกอร์หรือสิ่งที่เกิดขึ้นเมื่อไม่พบไฟล์ ฯลฯ ) ข้อยกเว้นที่กำหนดโดยภาษานั้นไม่ค่อยได้ใช้ซ้ำโดยโปรแกรมผู้ใช้ โดยปกติจะมีข้อยกเว้นที่ได้รับความนิยมหนึ่งหรือสองรายการ (ตัวอย่างเช่น "not Implement") แม้ว่าโปรแกรมเมอร์ส่วนใหญ่จะสร้างข้อยกเว้นของตนเอง (เปรียบเทียบสิ่งนี้กับการสร้างประเภทตัวเลขใหม่หรือประเภทคอลเลกชันใหม่) ดูเหมือนว่าฉันจะไม่สนใจเลย ทำไมไม่มีใครรู้ว่าจะต้องมีข้อผิดพลาดประเภทใดในโปรแกรมผู้ใช้ ฉันหวังว่าจะมีลำดับชั้นที่ดีคล้ายกับประเภทตัวเลขคอลเลกชันระบบวัตถุ ฯลฯ ยิ่งไปกว่านั้น Goolge และ Wikipedia ยังให้ความช่วยเหลือเพียงเล็กน้อยในเรื่องนี้ จนถึงตอนนี้ฉันเพิ่งพบบทความเกี่ยวกับข้อยกเว้นการทำงานที่เปิดขึ้นเป็นตอน: บทความนี้ระบุว่าการเขียนโปรแกรมการทำงานที่ขี้เกียจไม่เพียง แต่ทำให้กลไกการจัดการข้อยกเว้นในตัวไม่จำเป็น แต่ยังให้เครื่องมือที่มีประสิทธิภาพสำหรับการพัฒนาและการแปลงโปรแกรมที่ใช้ข้อยกเว้น (ทฤษฎีการทำงานของข้อยกเว้น, Mike Spivey, 1988) แต่ฉันคิดว่าข้อยกเว้นนั้นดี ฉันไม่ต้องการแปลงโปรแกรมที่ใช้ข้อยกเว้นในทางตรงกันข้ามฉันต้องการใช้ข้อยกเว้นให้วุ่นวายน้อยลง คำถาม: มีทฤษฎีของข้อยกเว้นหรือไม่? ถ้าเป็นเช่นนั้นมันจะเรียกว่าอะไร? อะไรคือสิ่งสำคัญถ้าสิ่งสำคัญคือการทำงานที่สรุปพื้นฐานของมันได้หรือไม่
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.