NO-ERROR takes precedence over any flow of control directive on the block, for example, LEAVE or THROW. See Default Condition Handling and Block Flow of Control and Condition Directives for more information.

It also takes precedence over any CATCH blocks so the CATCH block does not run. See CATCH Blocks for more information.

In general, the AVM performs error handling using this precedence, from highest to lowest. The AVM only abides by one of these when a condition is raised:
  • Statement NO-ERROR option
  • CATCH block
  • Block’s ON phrase (explicit or implicit)