Error::Tiny

use Error::Tiny;

try {
    dangerous();
}
catch MyCustomException with {
    my $e = shift;

    ...everything whose parent is MyCustomException...
}
catch {
    my $e = shift;

    ...everything else goes here...
};

Why not Try::Tiny

try {
    dangerous();
}
catch {
    my $e = $_;

    if (blessed($e) && $e->isa('MyCustomException')) {
    }
    else {
    }
};