[Bioperl-l] verbosity and error stack, was accessing EMBL database
Mark A. Jensen
maj at fortinbras.us
Thu Nov 19 18:37:05 EST 2009
I like this verbose/strict separability a lot. Should we go for it?
----- Original Message -----
From: "Chris Fields" <cjfields at illinois.edu>
To: "Mark A. Jensen" <maj at fortinbras.us>
Cc: <bioperl-l at bioperl.org>
Sent: Thursday, November 19, 2009 10:30 AM
Subject: [Bioperl-l] verbosity and error stack, was accessing EMBL database
> Mark, Dave,
> This could be based on verbose().
> Level w t d st
> verbose < 0 - + - -/+
> verbose 0 + + - -/+
> verbose 1 + + + +/+
> verbose > 1 +* -> + + +/+
> * converts to throw()
> w = warn
> t = throw
> d = debug
> st = stack trace
> warn() is set up that way now, you don't get a stack trace unless verbose() is
> > 0. throw() could be the same; would be a simple fix, really.
> My only problem with the current state of things is (I think we've delved down
> this path before) verbosity level is tied to exception strictness as seen
> above, and they're really two separate concepts, at least to me. Verbosity of
> 1 or more doesn't necessarily mean I want an elevated level of strictness
> along with it. For instance, one might want very strict exceptions w/o the
> noise, or (conversely) lots of debugging output but no warnings.
> (aside: another small nit, but I haven't exactly liked that the global level
> of strictness is designated by a env. variable with DEBUG in the name, but
> that's just me).
> I've been thinking it would be nice to have simple separate verbose/strict
> switches (this is the way it's implemented in Biome). This would allow some
> finer grained control over output:
> Level d st
> verbose 0 - -
> verbose 1 + +
> Default = BIOPERLDEBUG || 0 # current situation
> Level w t
> strict -1 - +
> strict 0 + +
> strict 1 +* -> +
> * converts to throw()
> Default = BIOPERLSTRICT || 0
> We could even allow finer-grained control of verbosity (states which cover all
> combinations) w/o affecting strictness.
> On Nov 19, 2009, at 8:17 AM, Mark A. Jensen wrote:
>> I'm inclined to agree. Lots of responses to questions here that begin
>> "Well, as the error message said, you need to check...", which means
>> people tend towards "I broke it! Write the list!". I do find it hairy when
>> my errors are way down in the object tree.
>> ----- Original Message ----- From: "Dave Messina" <David.Messina at sbc.su.se>
>> To: "Mark A. Jensen" <maj at fortinbras.us>
>> Cc: <bioperl-l at bioperl.org>
>> Sent: Thursday, November 19, 2009 9:04 AM
>> Subject: Re: [Bioperl-l] accessing EMBL database
>>> I would agree that the error message is not really informative.
>> Agreed that it could be better, but I wonder whether part of the problem with
>> BioPerl error messages is the stack dump.
>> I think a lot of eyes just glaze right over when they see a big wad of
>> complicated stuff, with colons and slashes and line numbers, spewing out at
>> Perhaps the stack dump should be turned off by default?
>> Wouldn't this:
>> ERROR: EMBL stream with no ID. Not embl in my book
>> Be a lot clearer than this?:
>> MSG: EMBL stream with no ID. Not embl in my book
>> STACK: Error::throw
>> STACK: Bio::Root::Root::throw C:/Perl/site/lib/Bio/Root/Root.pm: 368
>> STACK: Bio::SeqIO::embl::next_seq C:/Perl/site/lib/Bio\SeqIO\embl.pm: 203
>> STACK: Bio::DB::WebDBSeqI::get_Seq_by_acc
>> C:/Perl/site/lib/Bio/DB/WebDBSeqI.pm: 194
>> STACK: trial2.pl
>> Just a thought. This has probably been discussed before.
>> Bioperl-l mailing list
>> Bioperl-l at lists.open-bio.org
> Bioperl-l mailing list
> Bioperl-l at lists.open-bio.org
More information about the Bioperl-l