Because ``++CX_ROOT++`` is the base exception type, catching it directly probably casts a wider net than you intended. Catching ``++CX_ROOT++`` could mask far more serious system errors that your ``++CATCH++`` logic was intended to deal with.


Some smaller, more specific exception type should be caught instead.


== Noncompliant Code Example

----
  try.
    if ABS( NUMBER ) > 100.
      write / 'Number is large'.
    endif.
  catch CX_ROOT into OREF.
    write / OREF->GET_TEXT( ).
  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.
----


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

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