Skip to Content
Learn Red ? Fundamentals of Red
book

Learn Red ? Fundamentals of Red

by Ivo Balbaert
May 2018
Beginner content levelBeginner
252 pages
6h 19m
English
Packt Publishing
Content preview from Learn Red ? Fundamentals of Red

Error handling

In the previous section, we saw that passing the wrong type of argument to a function causes the program to terminate with an error message. Is there a way to guard functions against wrong types and still let the program continue? We know how to test types with type?, so we can do that instead. Here is a version of the inc function that is untyped, but protected against the possibility of n not being an integer:

inc: func [n][    if not integer? n [         print ["n must be an integer, not a" (type? n)]        exit    ]    n + 1]inc 9      ;== 10inc pi     ;== n must be an integer, not a floatinc "abc"  ;== n must be an integer, not a string

Instead of the if not type? n test, we can also make this somewhat more readable:

inc: func [n][     unless integer ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

How I Built a Personal Board of Directors With GenAI

How I Built a Personal Board of Directors With GenAI

Vipin Gupta
How to Become a Game-Changing Leader

How to Become a Game-Changing Leader

Douglas A. Ready, Alan Mulally
Why AI Demands a New Breed of Leaders

Why AI Demands a New Breed of Leaders

Faisal Hoque, Thomas Davenport, Erik Nelson

Publisher Resources

ISBN: 9781789130706Supplemental Content