== Why is this an issue?

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

[source,abap]
----
  try.
    if ABS( NUMBER ) > 100.
      write / 'Number is large'.
    endif.
  catch CX_ROOT into OREF.
    write / OREF->GET_TEXT( ).
  endtry.
----


=== Compliant solution

[source,abap]
----
  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[]

'''
== Implementation Specification
(visible only on this page)

=== Message

Narrow this \"``++CATCH++``" to a more specific exception exception type


'''
== Comments And Links
(visible only on this page)

=== is related to: S1181

endif::env-github,rspecator-view[]
