- From: Cameron McCormack <cam@mcc.id.au>
- Date: Sat, 18 Dec 2010 07:09:20 +1300
- To: public-script-coord@w3.org
Currently specs tend to use DOMException (or some separate exception type) with integer exception codes given by constants defined on the exception. This isn’t so great: * it requires coordination for the exception codes used on a given exception * it requires the spec defining the exception to be updated to add constants for the new codes * it’s not very JavaScripty Here is a proposal for changing this: * IDL exceptions will be allowed to inherit from other exceptions * exceptions not declared to inherit from another will inherit from the Error prototype in the JS binding * new specs will define a new IDL exception for each exception to define, rather than using DOMException (or a single new exception type) and a number of exception codes * in JS, each exception constructor function will take a single argument for the exception message, just like the built-in Error objects do This approach would also make it easier to catch categories of exceptions, if their hierarchy is defined that way; instead of checking for various codes in an exception handler, you could do an instanceof check. Existing, implemented specs that use exception codes would still have to work. We could think about migrating DOMException to multiple exception types in Web DOM Core with something like this: exception DOMException { unsigned short code; }; exception HierarchyRequestError : DOMException { }; exception NoModificationAllowedError : DOMException { }: // etc. Comments welcome on this approach. -- Cameron McCormack ≝ http://mcc.id.au/
Received on Friday, 17 December 2010 18:10:02 UTC