Come for the quick hacks, stay for the epiphanies. | |
PerlMonks |
DBIx::Class die on warningby bliako (Monsignor) |
on Apr 04, 2020 at 13:29 UTC ( [id://11115042]=perlquestion: print w/replies, xml ) | Need Help?? |
bliako has asked for the wisdom of the Perl Monks concerning the following question: I am reading unclean data and inserting to DB. At this stage, I need DB insert() statements to die if something dodgy happens, even a warning, for example I get this Non-integer value supplied for column. I use db-connection parameters these: {RaiseError=>1,PrintError=>1} and wrap my insert() around an eval to catch any die(), like my $rc = eval { $obj->insert(); 1 }; if( $@ || ! $rc ){ die "error for this object: $obj" } But it does not work. The warning stays a warning and does not elevate to a die as I had hoped. This works but isn't it too heavy in a loop of thousands of inserts?
Isn't there a simple flag to ask to elevate all warnings to errors and die? p.s. I could localise __WARN__ to an outer scope but messes up other warn()'s.
Back to
Seekers of Perl Wisdom
|
|