Tag: error-handling
6 รายการ
Blog
Java Optional.orElseThrow: บังคับมีค่าที่ขอบเขตแทนคืน null
ใช้ orElseThrow เมื่อค่าต้องมีจริง พร้อมแยกจาก orElse และตัวอย่างรันจริง
Java CompletableFuture.handle: รวมทางสำเร็จและล้มเหลวไว้ที่ boundary เดียว
ใช้ handle แปลงผล async เป็น outcome แบบชัดเจน พร้อมแยกจาก exceptionally และ whenComplete
Rust Result.inspect_err: สังเกต error โดยไม่ทำลายเส้นทางส่งต่อ
เพิ่ม logging หรือ metrics ให้ Result ด้วย inspect_err พร้อมแยก observation ออกจาก recovery และการเปลี่ยนชนิด error

Zig 0.16 บทที่ 7: error ไม่มีข้อมูลแนบ แล้วจะบอกรายละเอียดยังไง
งานจริงของ error handling ใน Zig — รูปแบบ diagnostics struct ที่ standard library ใช้เอง, ทดสอบทุกจุดที่หน่วยความจำเต็มด้วย checkAllAllocationFailures, ตาราง safety ต่อ build mode ที่ผมรันจริงทั้งสามโหมด และการเขียน panic handler เองแบบ 0.16

Zig 0.16 บทที่ 6: error ที่คอมไพเลอร์ไม่ยอมให้คุณเมิน
ระบบ error ของ Zig ไม่มี exception ไม่มีการคลี่ stack และเมินไม่ได้ — error set เป็นชนิดข้อมูล, try/catch/errdefer, switch บน error ที่ต้องครบทุกกรณี และ error return trace ที่ผมรันจริงแล้วพบว่า ReleaseSafe ปิดไว้ ต่างจากที่เอกสารส่วนใหญ่บอก พร้อมเทียบกับ C++, Java, C#, Go และ Rust
Beyond Syntax: เขียน Go ให้ Scale กับทีม ไม่ใช่แค่ CPU
รวม 12 แนวคิดที่แยก Go ระดับ "เขียนได้" ออกจาก Go ระดับ "คิดมาแล้ว" — ตั้งแต่ function signature, error handling, interface design, concurrency ownership ไปจนถึง package structure, naming convention, dependency injection และ graceful shutdown ที่ทำให้โค้ดอ่านง่ายขึ้นจริงในระดับทีม