May 2018
Beginner
252 pages
6h 19m
English
First, you can evaluate the dangerous code in a block with attempt:
attempt [4 < "abc"] ;== none
Instead of crashing with an error, this simply returns none, while well-behaving code simply executes and returns its result, such as attempt [4 * 7] ;== 28.
Because attempt effectively discards the error, this is not suitable for production code. However, while developing, this can be used to flesh out the program's logic. Handling errors is best done in a second phase, but then you should definitely use something better than attempt, namely try.
The try word tries to evaluate a block, similar to do:
try [4 * 7] ;== 28 ; normal evaluation resulttry [4 / 0] ; *** Math Error: attempt to divide by zerotype? try [4 / 0] ; == ...