Wikipedia: Error handling
Tengo uses error(value) to create error values. Functions signal failure by returning an error, and callers check with is_error().
fmt := import("fmt")
divide := func(a, b) {
if b == 0 {
return error("division by zero")
}
return a / b
}
fmt.println(divide(10, 2))
result := divide(10, 0)
if is_error(result) {
fmt.println("error: ", result.value)
}
vals := [divide(8, 2), divide(5, 0), divide(9, 3)]
for _, v in vals {
if is_error(v) {
fmt.println("got error: ", v.value)
} else {
fmt.println("got value: ", v)
}
}
try it
5 error: division by zero got value: 4 got error: division by zero got value: 3