http://qs321.pair.com?node_id=535439


in reply to Style guide for error messages?

I currently use a logging object I wrote to manage messages. When something's going wrong, my rule of the thumb is to write the message to the log object, then to return undef. something like :

use strict; use warnings; package bozo; use Message; sub failing { my $log = Message->new ; $log->set_error("this always fails"); return } package main; use Message; my $log = Message->new ; # I sometimes do this eval { `touch /toto` }; if ($@) { $log->set_error("it failed! : $@") ; # or this if ( not 0 ) { $log->set_error("it failed too!") } # now calling the failing sub up there: if ( not bozo::failing() ) { print $log->get_message(); }

Whatever I do with the error string, the Message object also spits out errors and messages to the log, this way (PID, date and time, the the message):

[25435] 2006-02-21 14:27:20 : ERROR : DBD::Pg::st execute failed: exec +ute on disconnected handle at ../lib/Archiver/Job.pm line 96.