chromium/v8/include/v8-exception.h

// Copyright 2021 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef INCLUDE_V8_EXCEPTION_H_
#define INCLUDE_V8_EXCEPTION_H_

#include <stddef.h>

#include "v8-local-handle.h"  // NOLINT(build/include_directory)
#include "v8-object.h"        // NOLINT(build/include_directory)
#include "v8config.h"         // NOLINT(build/include_directory)

namespace v8 {

class Context;
class Isolate;
class Message;
class StackTrace;
class String;
class Value;

namespace internal {
class Isolate;
class ThreadLocalTop;
}  // namespace internal

/**
 * Create new error objects by calling the corresponding error object
 * constructor with the message.
 */
class V8_EXPORT Exception {};

/**
 * This is a part of experimental Api and might be changed without further
 * notice.
 * Do not use it.
 */
enum class ExceptionContext : uint32_t {};

/**
 * This is a part of experimental Api and might be changed without further
 * notice.
 * Do not use it.
 */
class ExceptionPropagationMessage {};

ExceptionPropagationCallback;

/**
 * An external exception handler.
 */
class V8_EXPORT TryCatch {};

}  // namespace v8

#endif  // INCLUDE_V8_EXCEPTION_H_