error
Types
Result
Ok('t)
Err('e)
Effects
Raise
raise
fn(msg: 't3) -> 't4 / { Raise<'t3> }
Handlers
try
∀ 't6 , 't9 , 't7 . fn ('t6 / 't7) -> Result<'t6, 't9> / { 't7, -Raise<'t9> }
Handles a computation that may raise an error, returning a Result.
import core/error { Ok, Err, try, raise }
let failed = try { raise("oops") };
let msg = match failed {
Ok(_) => "none",
Err(e) => e,
};
test.assert_eq(msg, "oops");