Code Inspection: Wrong catch clauses order
catch clauses listed in the incorrect order and the exception classes caught twice.
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.