Question/suggestion about exceptions
Sean Kelly
sean at f4.ca
Tue Oct 24 08:45:31 PDT 2006
Ary Manzana wrote:
> Graham St Jack wrote:
>> Is there a way to automatically keep track of what exceptions may be
>> thrown by a function or method? Ideally, what I am looking for is
>> something like Java's "throws" keyword, but I would be happy with
>> almost anything.
>>
>> It is way too hard to develop reliable code of any size that uses
>> exceptions extensively, because as things change, you lose track of
>> what exceptions are thrown from where. Some sort of compiler support
>> would make this a lot easier.
>>
>> What I had in mind was an optional compiler warning and a new "throws"
>> keyword. The compiler would (optionally) issue a warning if a function
>> or method can throw an exception that it hasn't declared that it
>> "throws". With this assistance, it becomes is easy to keep track of
>> what can be thrown from where. Making it a warning and optional stops
>> it from breaking existing code, and makes quick code hacks easy to
>> write still.
>>
>> Thoughts?
>
> I totally support this idea. Is it hard to implement in the compiler? Of
> course, there should also be a hierarchy of exceptions, just like Java:
> RuntimeException dosen't signal an error when not try-catching it.
>
> Thoughts? :-)
It won't work with extern (C) functions, since the exception list would
probably be a part of the mangled function name. This is why 'throws'
goes basically unused in C++, even though the feature is present.
Sean
More information about the Digitalmars-d
mailing list