30c9acc2bba9bcd2b69401ab85a7c5e134ec20e7
op
Generic, exception-free return values.
OP stands for "Operation Result".
This module contains a generic type that can be used as a return type for operations that could fail. It adds additional messages to the result. This improves upon the options module in that additional messages can be passed along with the presence or absence of a value.
Basic Usage
import op
proc divide(a, b: int): OP[float] =
## This could fail
if b == 0:
return fail "Cannot divide by zero!"
else:
return ok a / b # Wrap the result
let r = divide(42, 0)
assert r.isOk == false
assert r.error == "Cannot divide by zero!"
Description
Languages
Nim
100%