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. BenoitReceived on Friday, 22 March 2013 16:52:03 UTC
This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 19:49:45 UTC