Debugging
jdb
HolonJ has no low level debug functions. Use the Java debugger
jdb.
However, Java class files are heavily checked by the class
loader of the java interpreter. If an application is loaded into the java
interpreter without errors, you can be pretty sure that it runs.
Verification
The
class loader verifies that
- data types are used correctly,
- stack arguments are correct,
- locals are initialized,
- control flow is in order,
- both branches in if/else/then constructs produce the same number and
type of results,
- return statements are correct,
- data and methods are called correctly.
Design
The problem is to create applications that are accepted by the
interpreter. It helps to:
- Create small words (methods) that are easy to understand.
- Keep the monitor JMON online while writing the program, and
- Reload the current class as soon as you have added a new word. You see immediately, whether the word is accepted.
- Catch exceptions and display their message. Java exceptions tell what happens.
Pattern:
: aMethod try ...something... catchall toString type ;
The NullPointerException is thrown, when unitialized objects are used.