Annotation of sbbs/javascript/include/mozilla/js/jsexn.h, revision 1.1.1.1

1.1       root        1: /* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
                      2:  *
                      3:  * The contents of this file are subject to the Netscape Public
                      4:  * License Version 1.1 (the "License"); you may not use this file
                      5:  * except in compliance with the License. You may obtain a copy of
                      6:  * the License at http://www.mozilla.org/NPL/
                      7:  *
                      8:  * Software distributed under the License is distributed on an "AS
                      9:  * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
                     10:  * implied. See the License for the specific language governing
                     11:  * rights and limitations under the License.
                     12:  *
                     13:  * The Original Code is Mozilla Communicator client code, released
                     14:  * March 31, 1998.
                     15:  *
                     16:  * The Initial Developer of the Original Code is Netscape
                     17:  * Communications Corporation.  Portions created by Netscape are
                     18:  * Copyright (C) 1998 Netscape Communications Corporation. All
                     19:  * Rights Reserved.
                     20:  *
                     21:  * Contributor(s): 
                     22:  *
                     23:  * Alternatively, the contents of this file may be used under the
                     24:  * terms of the GNU Public License (the "GPL"), in which case the
                     25:  * provisions of the GPL are applicable instead of those above.
                     26:  * If you wish to allow use of your version of this file only
                     27:  * under the terms of the GPL and not to allow others to use your
                     28:  * version of this file under the NPL, indicate your decision by
                     29:  * deleting the provisions above and replace them with the notice
                     30:  * and other provisions required by the GPL.  If you do not delete
                     31:  * the provisions above, a recipient may use your version of this
                     32:  * file under either the NPL or the GPL.
                     33:  */
                     34: 
                     35: /*
                     36:  * JS runtime exception classes.
                     37:  */
                     38: 
                     39: #ifndef jsexn_h___
                     40: #define jsexn_h___
                     41: 
                     42: JS_BEGIN_EXTERN_C
                     43: 
                     44: /*
                     45:  * Initialize the exception constructor/prototype hierarchy.
                     46:  */
                     47: extern JSObject *
                     48: js_InitExceptionClasses(JSContext *cx, JSObject *obj);
                     49: 
                     50: /*
                     51:  * String constants naming the exception classes.
                     52:  */
                     53: extern const char js_Error_str[];
                     54: extern const char js_InternalError_str[];
                     55: extern const char js_EvalError_str[];
                     56: extern const char js_RangeError_str[];
                     57: extern const char js_ReferenceError_str[];
                     58: extern const char js_SyntaxError_str[];
                     59: extern const char js_TypeError_str[];
                     60: extern const char js_URIError_str[];
                     61: 
                     62: /*
                     63:  * Given a JSErrorReport, check to see if there is an exception associated with
                     64:  * the error number.  If there is, then create an appropriate exception object,
                     65:  * set it as the pending exception, and set the JSREPORT_EXCEPTION flag on the
                     66:  * error report.  Exception-aware host error reporters should probably ignore
                     67:  * error reports so flagged.  Returns JS_TRUE if an associated exception is
                     68:  * found and set, JS_FALSE otherwise..
                     69:  */
                     70: extern JSBool
                     71: js_ErrorToException(JSContext *cx, const char *message, JSErrorReport *reportp);
                     72: 
                     73: /*
                     74:  * Called if a JS API call to js_Execute or js_InternalCall fails; calls the
                     75:  * error reporter with the error report associated with any uncaught exception
                     76:  * that has been raised.  Returns true if there was an exception pending, and
                     77:  * the error reporter was actually called.
                     78:  *
                     79:  * The JSErrorReport * that the error reporter is called with is currently
                     80:  * associated with a JavaScript object, and is not guaranteed to persist after
                     81:  * the object is collected.  Any persistent uses of the JSErrorReport contents
                     82:  * should make their own copy.
                     83:  *
                     84:  * The flags field of the JSErrorReport will have the JSREPORT_EXCEPTION flag
                     85:  * set; embeddings that want to silently propagate JavaScript exceptions to
                     86:  * other contexts may want to use an error reporter that ignores errors with
                     87:  * this flag.
                     88:  */
                     89: extern JSBool
                     90: js_ReportUncaughtException(JSContext *cx);
                     91: 
                     92: extern JSErrorReport *
                     93: js_ErrorFromException(JSContext *cx, jsval exn);
                     94: 
                     95: JS_END_EXTERN_C
                     96: 
                     97: #endif /* jsexn_h___ */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.