8
เหตุใดจึงต้องลองใช้ ... ในที่สุดโดยไม่มีข้อห้าม?
try ... catchวิธีที่คลาสสิกในการเขียนโปรแกรมอยู่กับ เมื่อไรที่มันจะเหมาะสมที่จะใช้tryโดยไม่catch? ใน Python ข้อมูลต่อไปนี้ถูกกฎหมายและสมเหตุสมผล: try: #do work finally: #do something unconditional อย่างไรก็ตามรหัสไม่ได้catchอะไรเลย ในทำนองเดียวกันหนึ่งสามารถคิดใน Java มันจะเป็นดังนี้: try { //for example try to get a database connection } finally { //closeConnection(connection) } มันดูดีและทันใดนั้นฉันก็ไม่ต้องกังวลกับข้อยกเว้นประเภทอื่น ๆ ถ้านี่เป็นการฝึกฝนที่ดีการฝึกฝนที่ดีเมื่อไหร่? อีกวิธีหนึ่งคือเหตุผลว่าทำไมนี่ไม่ใช่การปฏิบัติที่ดีหรือไม่ถูกกฎหมาย? (ฉันไม่ได้รวบรวมซอร์สฉันถามเกี่ยวกับมันเนื่องจากอาจเป็นข้อผิดพลาดทางไวยากรณ์สำหรับ Java ฉันตรวจสอบว่า Python รวบรวมแน่นอน) ปัญหาที่เกี่ยวข้องที่ฉันพบคือ: ฉันยังคงเขียนฟังก์ชั่น / วิธีในตอนท้ายของมันจะต้องกลับบางสิ่งบางอย่าง อย่างไรก็ตามอาจอยู่ในสถานที่ที่ไม่ควรไปถึงและต้องเป็นจุดกลับ ดังนั้นแม้ว่าฉันจะจัดการกับข้อยกเว้นข้างต้นฉันยังคงกลับมาNULLหรือสตริงที่ว่างในบางจุดในรหัสที่ไม่สามารถเข้าถึงได้มักจะสิ้นสุดของวิธีการ / ฟังก์ชั่น …