46 lines
1.0 KiB
Plaintext
46 lines
1.0 KiB
Plaintext
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::rspecator-view[]
|
|
== Comments And Links
|
|
(visible only on this page)
|
|
|
|
include::comments-and-links.adoc[]
|
|
endif::rspecator-view[]
|