ตัวอย่าง
ฟังก์ชัน multiply
รับ Argument 2 ค่า คือ a
และ b
เป็น String ทั้งคู่ ความต้องการ คือ ให้ฟังก์ชัน Return error ออกไปทันที่พบว่าไม่สามารถแปลง a
หรือ b
เป็น Integer โดยให้ค่าที่ Return เข้า Case error ของ Result
Rust
Rust มี Build-in syntax ที่สามารถ Return error ออกจากฟังก์ชันภายใน Match expression ได้ทันที จากตัวอย่าง สามารถเขียน return Err(e)
เมื่อพบว่าฟังก์ชัน parse
ได้ผลลัทธ์เป็น Error
$ cargo script "./src/main.rs"Process argument a
Process argument b
Result = 200
Process argument a
Error = invalid digit found in string
F#
F# ไม่สามารถเขียน Early return ได้โดยตรง เพราะทุกอย่างใน F# เป็น Expression ในตัวอย่าง จึงใช้วิธีสร้าง ResultBuilder
เพื่อ Return error ออกจากฟังก์ชัน ด้วย Computation expression
$ dotnet fsi --langversion:preview "./src/main.fsx"Processed argument a
Processed argument b
Result = 200
Processed argument a
Error = 10a is invalid int value