catch clauses listed in the incorrect order and the exception classes caught twice.
The catch clauses must be ordered from more specific to more generic ones. Otherwise, some exceptions may not be caught by the most specific handler.
See Exceptions (php.net) for details.