The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
use strict;
use warnings;

use Test::Fatal qw( success );
use Test::More 0.88;

use GeoIP2::Error::Type;
use Try::Tiny;

try {
    thrower();
}
catch {
    is( $_->type,  'foo', 'correct type thrown' );
    is( $_->value, 'bar', 'correct value thrown' );
}
success {
    fail('Expected an exception');
};

sub thrower {
    GeoIP2::Error::Type->throw(
        message => 'x is not y',
        type    => 'foo',
        value   => 'bar',
    );
}

done_testing();