custom_error/
custom_error.rs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
use stackr_rs::*;

fn main() {
    let state: u32 = 0;
    let mut interpreter = Interpreter::new(state);

    interpreter.register_builtin(
        "example-error",
        "-- n",
        "returns an error",
        "get-state",
        |interpreter| {
            //
            Err(("This is an error".to_string(), interpreter.location()))
        },
    );

    let code = r#"
    example-error
    "#;

    let result = interpreter.evaluate(code, None);
    println!("Result: {:?}", result);
}