== Why is this an issue? include::../description.adoc[] === Noncompliant code example [source,php] ---- if (condition1) { do_something(); } elseif (condition2) { do_something_else(); } ---- === Compliant solution [source,php] ---- if (condition1) { do_something(); } elseif (condition2) { do_something_else(); } else { throw new InvalidArgumentException('message'); } ---- === Exceptions When all branches of an ``++if-elseif++`` end with ``++return++``, ``++break++``, ``++continue++`` or ``++throw++``, the code that comes after the ``++if++`` implicitly behaves as if it was in an ``++else++`` clause. This rule will therefore ignore that case. 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[]