Thread overview | |||||||
---|---|---|---|---|---|---|---|
|
December 30, 2006 AssertError | ||||
---|---|---|---|---|
| ||||
When I want to unittest the incorrect behaviour of a component, I often write something like try { // this code throws AssertError } catch (Error e) { } What I really want is to catch AssertError instead of Error, but is is not in object nor elsewhere in phobos. Is it possible to catch exactly AssertError ? |
December 30, 2006 Re: AssertError | ||||
---|---|---|---|---|
| ||||
Posted in reply to Valery | "Valery" <valery@freesurf.fr> wrote in message news:en60i8$1aav$1@digitaldaemon.com... > When I want to unittest the incorrect behaviour of a component, I often write something like > > try { > // this code throws AssertError > } catch (Error e) { } > > What I really want is to catch AssertError instead of Error, but is is not in object nor elsewhere in phobos. > > Is it possible to catch exactly AssertError ? It is in Phobos, it's just (very strangely) undocumented. Use "import std.asserterror" and then you can catch AssertErrors. I'm not sure why this class is not defined in object.d, along with Exception and Error. I mean, it's part of the language. |
December 30, 2006 Re: AssertError | ||||
---|---|---|---|---|
| ||||
Posted in reply to Valery | Valery wrote:
> When I want to unittest the incorrect behaviour of a component, I
> often write something like
>
> try {
> // this code throws AssertError
> } catch (Error e) { }
>
> What I really want is to catch AssertError instead of Error, but
> is is not in object nor elsewhere in phobos.
>
> Is it possible to catch exactly AssertError ?
incluse std.asserterror;
|
January 04, 2007 Re: AssertError | ||||
---|---|---|---|---|
| ||||
Posted in reply to Valery | Valery wrote:
> When I want to unittest the incorrect behaviour of a component, I
> often write something like
>
> try {
> // this code throws AssertError
> } catch (Error e) { }
>
> What I really want is to catch AssertError instead of Error, but
> is is not in object nor elsewhere in phobos.
>
> Is it possible to catch exactly AssertError ?
I think there's a reason it's not documented.. There's something very strange about wanting to catch an assert. There's no guarantee that the assert gets compiled in. It would by like wanting to catch a array-bounds error for, say, an invalid indexing like array[1000].
L.
|
January 05, 2007 Re: AssertError | ||||
---|---|---|---|---|
| ||||
Posted in reply to Lionello Lunesu | Lionello Lunesu wrote:
> Valery wrote:
>> When I want to unittest the incorrect behaviour of a component, I
>> often write something like
>>
>> try {
>> // this code throws AssertError
>> } catch (Error e) { }
>>
>> What I really want is to catch AssertError instead of Error, but
>> is is not in object nor elsewhere in phobos.
>>
>> Is it possible to catch exactly AssertError ?
>
> I think there's a reason it's not documented.. There's something very strange about wanting to catch an assert. There's no guarantee that the assert gets compiled in. It would by like wanting to catch a array-bounds error for, say, an invalid indexing like array[1000].
You sometimes want to do it in a unit test -- eg, test that a function correctly asserts when passed an invalid parameter. (And the same thing for array bounds errors).
|
Copyright © 1999-2021 by the D Language Foundation