rspec/rules/S112/php/rule.adoc

40 lines
901 B
Plaintext

== Why is this an issue?
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[]