in reply to Exception handling for Image::Magick
use Exception::Class ( 'Image::Magick::Exception' => { fields => [ 'type', 'errno', 'msg' ] + } ); ... my $result = &{"hidden::$cmethod"}; if( "$result" =~ /^(\w+)\s(\d\d\d):\s(.*)/ ) { Image::Magick::Exception->throw( error => "$result", type => $1, errno => $2, msg => $3 ); }; return $result
More generally, it looks like the really proper fix to this would involve twiddling the glue code in Magick.xs. I took a look at the code and I think a global flag could be added that changed the behavior of MagickErrorHandler and MagickWarningHandler, equivalent to DBI's RaiseError flag, but I don't have enough XS experience to know the right way to implement this.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Exception handling for Image::Magick
by redlemon (Hermit) on Sep 06, 2004 at 07:18 UTC |