docs / error

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");