<?php
class ExceptionFoo extends Exception {}
class 
ExceptionBar extends Exception {}
class 
ExceptionBaz extends Exception {}

function 
trycatch($action)
{
    echo 
"Let's do some stuff!\n";
    
$f pow(37);

    try {
        switch (
$action) {
            case 
1: throw new ExceptionFoo("test");
            case 
2: throw new ExceptionBaz("test");
            case 
3: throw new Exception("test");
        }
        echo 
"Not thrown\n";
    } catch (
ExceptionFoo $e) {
        echo 
"caught\n";
    } catch (
ExceptionBar $e) {
        echo 
"caught\n";
    } catch (
ExceptionBaz $e) {
        echo 
"caught\n";
    }

    echo 
"And do some more\n";
}

trycatch(1);
trycatch(2);
try {
    
trycatch(3);
} catch ( 
Exception $e ) {
    echo 
"CAUGHT IN MAIN\n";
}
?>