ฉันจะปรับปรุงการตรวจสอบและจัดการข้อผิดพลาดได้อย่างไร
เมื่อเร็ว ๆ นี้ฉันพยายามดิ้นรนที่จะเข้าใจว่าการตรวจสอบในปริมาณที่เหมาะสมคืออะไรและวิธีการที่เหมาะสมคืออะไร ฉันมีคำถามสองสามข้อเกี่ยวกับเรื่องนี้: เป็นวิธีที่เหมาะสมในการตรวจสอบข้อผิดพลาด (อินพุตไม่ดี, รัฐไม่ดี ฯลฯ ) คืออะไร? เป็นการดีกว่าที่จะตรวจสอบข้อผิดพลาดอย่างชัดเจนหรือใช้ฟังก์ชั่นเช่นการยืนยันที่สามารถปรับให้เหมาะสมกับโค้ดสุดท้ายของคุณ? ฉันรู้สึกเหมือนกำลังตรวจสอบโปรแกรมอย่างชัดเจนด้วยรหัสพิเศษจำนวนมากซึ่งไม่ควรถูกเรียกใช้ในสถานการณ์ส่วนใหญ่อย่างไรก็ตาม - และไม่พูดถึงข้อผิดพลาดส่วนใหญ่ที่จบลงด้วยความล้มเหลวในการยกเลิก / ออก เหตุใดจึงมีฟังก์ชั่นตรวจสอบอย่างชัดเจนว่าจะยกเลิกหรือไม่ ฉันได้มองหา asserts เทียบกับการตรวจสอบข้อผิดพลาดอย่างชัดเจนและพบว่ามีเพียงเล็กน้อยที่จะอธิบายอย่างแท้จริงเมื่อต้องทำเช่นกัน ส่วนใหญ่พูดว่า 'ใช้ข้อความยืนยันเพื่อตรวจสอบข้อผิดพลาดเชิงตรรกะและใช้การตรวจสอบอย่างชัดเจนเพื่อตรวจสอบความผิดพลาดอื่น ๆ ' ดูเหมือนว่าจะไม่ได้รับเราไปไกลมาก เราจะพูดว่าเป็นไปได้หรือไม่: Malloc returning null, check explictly API user inserting odd input for functions, use asserts สิ่งนี้จะทำให้ฉันดีขึ้นเมื่อตรวจสอบข้อผิดพลาดหรือไม่ ฉันจะทำอะไรได้อีก ฉันต้องการปรับปรุงและเขียนรหัส 'มืออาชีพ' ให้ดีขึ้น