"mozJSSubScriptLoader: Error occurred while reporting error :/\n");
"mozJSSubScriptLoader: Error occurred while reporting error :/\n")
ExceptionalErrorReporter (JSContext *cx, const char *message,                          JSErrorReport *report){    JSObject *ex;    JSString *jstr;    JSBool ok;    if (report && JSREPORT_IS_EXCEPTION (report->flags))        /* if it's already an exception, our job is done. */        return;        ex = JS_NewObject (cx, nsnull, nsnull, nsnull);    /* create a jsobject to throw */    if (!ex)        goto panic;    /* decorate the exception */    if (message)    {        jstr = JS_NewStringCopyZ (cx, message);        if (!jstr)            goto panic;        ok = JS_DefineProperty (cx, ex, "message", STRING_TO_JSVAL(jstr),                                nsnull, nsnull, JSPROP_ENUMERATE);        if (!ok)            goto panic;    }    if (report)    {        jstr = JS_NewStringCopyZ (cx, report->filename);        if (!jstr)            goto panic;        ok = JS_DefineProperty (cx, ex, "fileName", STRING_TO_JSVAL(jstr),                                nsnull, nsnull, JSPROP_ENUMERATE);        if (!ok)            goto panic;        ok = JS_DefineProperty (cx, ex, "lineNumber",                                INT_TO_JSVAL(NS_STATIC_CAST(uintN,                                                            report->lineno)),                                nsnull, nsnull, JSPROP_ENUMERATE);        if (!ok)            goto panic;    }    JS_SetPendingException (cx, OBJECT_TO_JSVAL(ex));    return;      panic:#ifdef DEBUG    fprintf (stderr,             "mozJSSubScriptLoader: Error occurred while reporting error :/\n");#endif}