208c `«« «» »»`

Theo: | `EVALUATE` operates on the string, using the stack. Apparently`0 0` was on the stack when the error occurred. Now for the serious stuff:
    EX 5 ' CHAR CATCH 8 .S
Leo: | `CATCH` executes`CHAR`. `CHAR` puts the ASCII-code of`8` on stack and adds an "allright zero."
    [rtn] ( 5 56 0 ) ok
Theo: | Right. For the next example it's important to remember that`CATCH` saves the current input stream before going to work. When an error develops, the stack(s) and the input stream are restored. Why? Consider what happens when loading a file, when after an error the input stream is not restored.
    EX 6 ' ' CATCH 666 .S [rtn] ( 6 -13 666 ) ok
`CATCH` executes the Tick on`666`. Of course, that doesn't work. So`CATCH` puts error number -13 on the stack and restores the input stream. That stream was pointing to just after`CATCH`. `666` is read again and executed and after that`.S` gets its turn. I'm terribly sorry, but I have to go now. Here are some puzzles you should be able to solve, given the state of your knowledge at this point.
     EX 7  ' S" CATCH Vijgeblaadje" .S
     EX 8  ' ' CATCH FIG .S
     EX 9  ' TO CATCH BL .S
     EX 10 ' DUP ' CATCH EXECUTE .S
     EX 11 ' DUP ' CATCH CATCH .S
     EX 12 ' DUP ' CATCH ' CATCH CATCH .S
     EX ( 13 ) ' DROP CATCH .S
     EX 14 ' THROW CATCH .S
Goodbye.
Leo: | Goodbye.
[To be continued] `»»`