2020-06-30 10:16:44 +02:00
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.
2021-02-02 15:02:10 +01:00
2020-06-30 10:16:44 +02:00
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
----
throw new Exception(); // Noncompliant
----
== Compliant Solution
----
throw new InvalidArgumentException();
// or
throw new UnexpectedValueException();
----
include::../see.adoc[]
2021-06-02 20:44:38 +02:00
2021-06-03 09:05:38 +02:00
ifdef::env-github,rspecator-view[]
2021-06-02 20:44:38 +02:00
== Comments And Links
(visible only on this page)
include::../comments-and-links.adoc[]
2021-06-03 09:05:38 +02:00
endif::env-github,rspecator-view[]