X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=blobdiff_plain;f=lib%2FCatalyst%2FRequest%2FUpload.pm;h=ff0b5dee23b67376b517d9eaf5e8658bb93bd44f;hp=783733b06e7228e315decfa2048dea2549f1a657;hb=a2f2cde95194a17fe2401ae58c92b5494bac599f;hpb=ae4e40a7d5968d8086a86bff588a0989f167d5db diff --git a/lib/Catalyst/Request/Upload.pm b/lib/Catalyst/Request/Upload.pm index 783733b..ff0b5de 100644 --- a/lib/Catalyst/Request/Upload.pm +++ b/lib/Catalyst/Request/Upload.pm @@ -3,6 +3,7 @@ package Catalyst::Request::Upload; use strict; use base 'Class::Accessor::Fast'; +use Catalyst::Exception; use File::Copy (); use IO::File (); @@ -62,8 +63,16 @@ Opens tempname and returns a C handle. sub fh { my $self = shift; - my $fh = IO::File->new( $self->tempname, IO::File::O_RDONLY ) - or die( "Can't open ", $self->tempname, ": ", $! ); + my $fh = IO::File->new( $self->tempname, IO::File::O_RDONLY ); + + unless ( defined $fh ) { + + my $filename = $self->tempname; + + Catalyst::Exception->throw( + message => qq/Can't open '$filename': '$!'/ + ); + } return $fh; }