Re: comments on Matrix

2013/3/22 Rik Cabanier <cabanier@gmail.com>

>
>
> On Fri, Mar 22, 2013 at 1:48 AM, Robert O'Callahan <robert@ocallahan.org>wrote:
>
>> On Fri, Mar 22, 2013 at 7:48 AM, Rik Cabanier <cabanier@gmail.com> wrote:
>>
>>>  On Thu, Mar 21, 2013 at 11:38 AM, Tab Atkins Jr. <jackalmage@gmail.com>wrote:
>>>
>>>> Only if you actually throw it.  It's not eagerly created every call.
>>>>
>>>
>>> I worked a little with the mozilla code base and it seems that they
>>> always create the object.
>>> It's probably not a huge amount of overhead since it's not dynamically
>>> allocated.
>>>
>>
>> We certainly don't create a JS exception object if an exception is not
>> actually thrown.
>>
>
> If a function is marked as throwing in the IDL, doesn't it get an
> exception object as a parameter on the C++ side?
>

No, in Mozilla's case it gets a so-called ErrorResult object,

http://dxr.mozilla.org/mozilla-central/dom/bindings/ErrorResult.h?from=ErrorResult#l34

C++ can then decide to call its Throw() method to actually produce an
exception.

Benoit

Received on Friday, 22 March 2013 16:52:03 UTC