errors caught by [catch] shouldn't affect later stacktrace

Currently if an error is caught with catch { }, the location
of the error overrides the location of the next error that occurs.

Signed-off-by: Steve Bennett <steveb@workware.net.au>