Imbriquée try catch en PHP

Considérer:

try{
    class MyException extends Exception{}
    try{
        throw new MyException;
    }
    catch(Exception $e){
        echo "1:";
        throw $e;
    }
    catch(MyException $e){
        echo "2:";
        throw $e;
    }
}
catch(Exception $e){
    echo get_class($e);
}

Je suis confus avec ce try et catch. Je suis dans l'attente d'une 2:MyException en raison de la deuxième try throw MyException. Mais le résultat réel est 1:MyException. Quelle est l'explication?

Vous devez utiliser la principale Exception comme la dernière option. Afin de swap de premier et deuxième blocs catch.

OriginalL'auteur IqbalBary | 2013-10-05