catch/rethrow

James Pelcis jpelcis at gmail.com
Wed Jun 7 13:48:00 PDT 2006


The purpose is to inform the user that there has been an error without 
overly interrupting the program.  I think the rationale is that after 
you have taken the time to handle an exception, why would you rethrow it?

If you disagree, you don't need to have the kind of catch.  You can 
always catch either Exception or Object and ignore the LastCatch.

Sean Kelly wrote:
> Johan Granberg wrote:
>> Sean Kelly wrote:
>>> But it relies on undocumented (I believe) knowledge that all 
>>> exceptions in D are objects ...
>>> Sean
>>
>> quote from the specification (statements throw)
>> "Expression is evaluated and must be an Object reference. The Object 
>> reference is thrown as an exception."
>>
>> So it is documented that Exceptions is objects.
> 
> Ah, good to know.  But then what is the purpose of catch{}?  Without the 
> ability to rethrow, it seems to have marginal utility.
> 
> 
> Sean



More information about the Digitalmars-d mailing list