In JavaScript there's an inherent cost to a try/catch
it adds another stack scope (or some such), but apparently there's no cost in NextBASIC (or indeed Sinclair BASIC):
Unlike some compiled stack-based languages, ON ERROR doesn’t make NextBASIC any slower.
- Simon N Goodwin via FB