[Bioperl-l] SeqIO parsing

Hilmar Lapp hlapp@gnf.org
Tue, 24 Sep 2002 14:49:47 -0700


On Tuesday, September 24, 2002, at 02:44 PM, Ewan Birney wrote:
<snip>
>>>
>>>        (iii) To prevent henious errors of RootI compliance without
>>> verbose
>>> being overriden, put in a default implementation of verbose 
>>> returning 0
>>> and a warning.
>>>
>>
>> Not a warning -- throw_not_implemented() and ideally also throw()
>> and warn() should still work without warning about themselves.
>
> I disagree - warn() has to rely on verbose() and if verbose() throws on
> unimplemented, then we have the very real chance of someone 
> implementing a
> RootI object without providing a sensible verbose() call, and then
> run-time the client having a nasty, unrecoverable error thrown from 
> deep
> within some code -
>
>
> better I think to warn here and return 0
>

I guess what I meant was that then 
RootI::{throw_not_implemented(),throw()} should not check verbose() 
but always throw no matter what. Which is OK I think.

Likewise, warn() only warns, and does not die.

Does this make more sense to you?

	-hilmar
--
-------------------------------------------------------------
Hilmar Lapp                            email: lapp at gnf.org
GNF, San Diego, Ca. 92121              phone: +1-858-812-1757
-------------------------------------------------------------