Quellcodebibliothek Statistik Leitseite products/sources/formale Sprachen/C/Firefox/dom/bindings/   (Browser von der Mozilla Stiftung Version 136.0.1©)  Datei vom 10.2.2025 mit Größe 2 kB image not shown  

Quelle  Exceptions.h   Sprache: C

 
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */


#ifndef mozilla_dom_Exceptions_h__
#define mozilla_dom_Exceptions_h__

// DOM exception throwing machinery (for both main thread and workers).

#include <stdint.h>
#include "jspubtd.h"
#include "nsString.h"
#include "jsapi.h"

class nsIStackFrame;
class nsPIDOMWindowInner;
template <class T>
struct already_AddRefed;

namespace mozilla::dom {

class Exception;

// If we're throwing a DOMException and message is empty, the default
// message for the nsresult in question will be used.
bool Throw(JSContext* cx, nsresult rv, const nsACString& message = ""_ns);

// Create, throw and report an exception to a given window.
void ThrowAndReport(nsPIDOMWindowInner* aWindow, nsresult aRv);

// Both signatures of ThrowExceptionObject guarantee that an exception is set on
// aCx before they return.
void ThrowExceptionObject(JSContext* aCx, Exception* aException);

// Create an exception object for the given nsresult and message. If we're
// throwing a DOMException and aMessage is empty, the default message for the
// nsresult in question will be used.
//
// This never returns null.
already_AddRefed<Exception> CreateException(nsresult aRv,
                                            const nsACString& aMessage = ""_ns);

// aMaxDepth can be used to define a maximal depth for the stack trace. If the
// value is -1, a default maximal depth will be selected.  Will return null if
// there is no JS stack right now.
already_AddRefed<nsIStackFrame> GetCurrentJSStack(int32_t aMaxDepth = -1);

// Internal stuff not intended to be widely used.
namespace exceptions {

already_AddRefed<nsIStackFrame> CreateStack(JSContext* aCx,
                                            JS::StackCapture&& aCaptureMode);

// Like the above, but creates a JSStackFrame wrapper for an existing
// JS::SavedFrame object, passed as aStack.
already_AddRefed<nsIStackFrame> CreateStack(JSContext* aCx,
                                            JS::Handle<JSObject*> aStack);

}  // namespace exceptions
}  // namespace mozilla::dom

#endif

Messung V0.5
C=93 H=99 G=95

¤ Dauer der Verarbeitung: 0.3 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.