Exceptions and debugging 

# In .../Canvas.pm

use Carp;

sub draw_circle {
    my($self, %opt) = @_;

    my $radius = $opt{radius}
        or croak "draw_circle needs radius";
}