Source code

Revision control

Copy as Markdown

Other Tools

/**
* @license
* Copyright 2018 Google Inc.
* SPDX-License-Identifier: Apache-2.0
*/
/**
* The base class for all Puppeteer-specific errors
*
* @public
*/
export class PuppeteerError extends Error {
/**
* @internal
*/
constructor(message?: string, options?: ErrorOptions) {
super(message, options);
this.name = this.constructor.name;
}
/**
* @internal
*/
get [Symbol.toStringTag](): string {
return this.constructor.name;
}
}
/**
* TimeoutError is emitted whenever certain operations are terminated due to
* timeout.
*
* @remarks
* Example operations are {@link Page.waitForSelector | page.waitForSelector} or
* {@link PuppeteerNode.launch | puppeteer.launch}.
*
* @public
*/
export class TimeoutError extends PuppeteerError {}
/**
* ProtocolError is emitted whenever there is an error from the protocol.
*
* @public
*/
export class ProtocolError extends PuppeteerError {
#code?: number;
#originalMessage = '';
set code(code: number | undefined) {
this.#code = code;
}
/**
* @readonly
* @public
*/
get code(): number | undefined {
return this.#code;
}
set originalMessage(originalMessage: string) {
this.#originalMessage = originalMessage;
}
/**
* @readonly
* @public
*/
get originalMessage(): string {
return this.#originalMessage;
}
}
/**
* Puppeteer will throw this error if a method is not
* supported by the currently used protocol
*
* @public
*/
export class UnsupportedOperation extends PuppeteerError {}
/**
* @internal
*/
export class TargetCloseError extends ProtocolError {}