Handling runtime errors
EPL eliminates many runtime errors because of the following:
Strict, static typing, so there are no class cast exceptions.
No implicit type conversion so there are no number format exceptions.
No concept of null, so there are no null pointer exceptions.
However, EPL cannot entirely eliminate runtime errors. For example, you receive a runtime error if you try to divide by zero or specify an array index that is out of bounds. Some runtime errors are obscure. For example:
mySeq.remove(mySeq.indexOf("foo"));
If foo is not in mySeq, indexOf() returns –1, which causes a runtime error.