Thread overview | |||||||
---|---|---|---|---|---|---|---|
|
October 24, 2012 exception messages | ||||
---|---|---|---|---|
| ||||
I'm attempting to learn D through a personal project, and can't figure out how to get the message from an exception. I've basically defined a custom subclass of Exception to represent when invalid inputs are provided, and would like to have a master catch block that handles them, but I can't find API docs for Throwable or Exception within the Phobos Library Reference. In particular, I can't find API definitions for those classes in either std.exception or core.exception. Where else should I be looking? |
October 24, 2012 Re: exception messages | ||||
---|---|---|---|---|
| ||||
Posted in reply to Greg | On 10/23/2012 05:51 PM, Greg wrote: > I'm attempting to learn D through a personal project, and can't figure > out how to get the message from an exception. I've basically defined a > custom subclass of Exception to represent when invalid inputs are > provided, and would like to have a master catch block that handles them, > but I can't find API docs for Throwable or Exception within the Phobos > Library Reference. In particular, I can't find API definitions for those > classes in either std.exception or core.exception. Where else should I > be looking? There is a ddoc problem at dlang.org but it is defined in object.d: http://dlang.org/phobos/object.html#Throwable On my system, the .di of that module is found here: /usr/include/d/dmd/druntime/import/object.di Here is the current version of the file: https://github.com/D-Programming-Language/druntime/blob/master/src/object_.d Ali |
October 24, 2012 Re: exception messages | ||||
---|---|---|---|---|
| ||||
Posted in reply to Greg | On 10/24/12, Greg <greg.steffensen@gmail.com> wrote: > I'm attempting to learn D through a personal project, and can't figure out how to get the message from an exception. I don't know why Throwable is not documented (http://dlang.org/phobos/object.html#Throwable), but you can use the .msg field: import std.exception; import std.stdio; void main() { try { enforce(0, "message"); } catch (Exception ex) { writeln(ex.msg); } } See the DMD2/src/druntime/src/object_.d file for the class definition of Throwable and Exception, Throwable has these fields: string msg; string file; size_t line; TraceInfo info; Throwable next; |
October 24, 2012 Re: exception messages | ||||
---|---|---|---|---|
| ||||
Posted in reply to Andrej Mitrovic | Awesome, that's more informative than the API docs would have been anyway.
BTW, another API docs problem I noticed is that on the main page, the module list in the sidebar doesn't match the module list in the page content (the sidebar has more modules, including std.exception).
Thanks!
On Wednesday, 24 October 2012 at 01:03:12 UTC, Andrej Mitrovic wrote:
> On 10/24/12, Greg <greg.steffensen@gmail.com> wrote:
>> I'm attempting to learn D through a personal project, and can't
>> figure out how to get the message from an exception.
>
> I don't know why Throwable is not documented
> (http://dlang.org/phobos/object.html#Throwable), but you can use the
> .msg field:
>
> import std.exception;
> import std.stdio;
>
> void main()
> {
> try {
> enforce(0, "message");
> }
> catch (Exception ex)
> {
> writeln(ex.msg);
> }
> }
>
> See the DMD2/src/druntime/src/object_.d file for the class definition
> of Throwable and Exception, Throwable has these fields:
>
> string msg;
> string file;
> size_t line;
> TraceInfo info;
> Throwable next;
|
October 24, 2012 Re: exception messages | ||||
---|---|---|---|---|
| ||||
On Wed, Oct 24, 2012 at 03:03:02AM +0200, Andrej Mitrovic wrote: > On 10/24/12, Greg <greg.steffensen@gmail.com> wrote: > > I'm attempting to learn D through a personal project, and can't figure out how to get the message from an exception. > > I don't know why Throwable is not documented (http://dlang.org/phobos/object.html#Throwable), but you can use the .msg field: [...] Neither Throwable nor Exception are adequately documented. I decided to remedy that: https://github.com/D-Programming-Language/druntime/pull/337 :) T -- Life is unfair. Ask too much from it, and it may decide you don't deserve what you have now either. |
Copyright © 1999-2021 by the D Language Foundation