Leaving a ``++CATCH++`` block empty means that the exception in question is neither handled nor passed forward to callers for handling at a higher level. Suppressing errors rather than handling them could lead to unpredictable system behavior and should be avoided.


== Noncompliant Code Example

----
  try.
    if ABS( NUMBER ) > 100.
      write / 'Number is large'.
    endif.
    catch CX_SY_ARITHMETIC_ERROR into OREF.
  endtry.
----


== Compliant Solution

----
  try.
    if ABS( NUMBER ) > 100.
      write / 'Number is large'.
    endif.
  catch CX_SY_ARITHMETIC_ERROR into OREF.
    write / OREF->GET_TEXT( ).
  endtry.
----


== Exceptions

When a block contains a comment, it is not considered to be empty.


== See

* http://cwe.mitre.org/data/definitions/391[MITRE, CWE-391] - Unchecked Error Condition
* OWASP Top 10 2017 Category A10 - Insufficient Logging & Monitoring


ifdef::env-github,rspecator-view[]
'''
== Comments And Links
(visible only on this page)

include::comments-and-links.adoc[]
endif::env-github,rspecator-view[]
