rspec/rules/S112/php/rule.adoc
2022-02-04 16:28:24 +00:00

38 lines
873 B
Plaintext

If you throw a general exception type, such as ErrorException, RuntimeException, or Exception in a library or framework, it forces consumers to catch all exceptions, including unknown exceptions that they do not know how to handle.
Instead, either throw a subtype that already exists in the Standard PHP Library, or create your own type that derives from Exception.
== Noncompliant Code Example
[source,php]
----
throw new Exception(); // Noncompliant
----
== Compliant Solution
[source,php]
----
throw new InvalidArgumentException();
// or
throw new UnexpectedValueException();
----
include::../see.adoc[]
ifdef::env-github,rspecator-view[]
'''
== Implementation Specification
(visible only on this page)
include::../message.adoc[]
'''
== Comments And Links
(visible only on this page)
include::../comments-and-links.adoc[]
endif::env-github,rspecator-view[]