[youtubei.js](../../../../README.md) / [Utils](../README.md) / SessionError # Class: SessionError Defined in: [src/utils/Utils.ts:57](https://github.com/LuanRT/YouTube.js/blob/853a36307b5d644ada14dcb1216c2c22c2ae7b73/src/utils/Utils.ts#L57) ## Extends - `Error` ## Constructors ### Constructor > **new SessionError**(`message?`): `SessionError` Defined in: node\_modules/typescript/lib/lib.es5.d.ts:1082 #### Parameters ##### message? `string` #### Returns `SessionError` #### Inherited from `Error.constructor` ### Constructor > **new SessionError**(`message?`, `options?`): `SessionError` Defined in: node\_modules/typescript/lib/lib.es5.d.ts:1082 #### Parameters ##### message? `string` ##### options? `ErrorOptions` #### Returns `SessionError` #### Inherited from `Error.constructor` ## Properties ### cause? > `optional` **cause**: `unknown` Defined in: node\_modules/typescript/lib/lib.es2022.error.d.ts:26 #### Inherited from `Error.cause` *** ### message > **message**: `string` Defined in: node\_modules/typescript/lib/lib.es5.d.ts:1077 #### Inherited from `Error.message` *** ### name > **name**: `string` Defined in: node\_modules/typescript/lib/lib.es5.d.ts:1076 #### Inherited from `Error.name` *** ### stack? > `optional` **stack**: `string` Defined in: node\_modules/typescript/lib/lib.es5.d.ts:1078 #### Inherited from `Error.stack` *** ### stackTraceLimit > `static` **stackTraceLimit**: `number` Defined in: node\_modules/@types/node/globals.d.ts:67 The `Error.stackTraceLimit` property specifies the number of stack frames collected by a stack trace (whether generated by `new Error().stack` or `Error.captureStackTrace(obj)`). The default value is `10` but may be set to any valid JavaScript number. Changes will affect any stack trace captured _after_ the value has been changed. If set to a non-number value, or set to a negative number, stack traces will not capture any frames. #### Inherited from `Error.stackTraceLimit` ## Methods ### captureStackTrace() > `static` **captureStackTrace**(`targetObject`, `constructorOpt?`): `void` Defined in: node\_modules/@types/node/globals.d.ts:51 Creates a `.stack` property on `targetObject`, which when accessed returns a string representing the location in the code at which `Error.captureStackTrace()` was called. ```js const myObject = {}; Error.captureStackTrace(myObject); myObject.stack; // Similar to `new Error().stack` ``` The first line of the trace will be prefixed with `${myObject.name}: ${myObject.message}`. The optional `constructorOpt` argument accepts a function. If given, all frames above `constructorOpt`, including `constructorOpt`, will be omitted from the generated stack trace. The `constructorOpt` argument is useful for hiding implementation details of error generation from the user. For instance: ```js function a() { b(); } function b() { c(); } function c() { // Create an error without stack trace to avoid calculating the stack trace twice. const { stackTraceLimit } = Error; Error.stackTraceLimit = 0; const error = new Error(); Error.stackTraceLimit = stackTraceLimit; // Capture the stack trace above function b Error.captureStackTrace(error, b); // Neither function c, nor b is included in the stack trace throw error; } a(); ``` #### Parameters ##### targetObject `object` ##### constructorOpt? `Function` #### Returns `void` #### Inherited from `Error.captureStackTrace` *** ### isError() > `static` **isError**(`error`): `error is Error` Defined in: node\_modules/typescript/lib/lib.esnext.error.d.ts:23 Indicates whether the argument provided is a built-in Error instance or not. #### Parameters ##### error `unknown` #### Returns `error is Error` #### Inherited from `Error.isError` *** ### prepareStackTrace() > `static` **prepareStackTrace**(`err`, `stackTraces`): `any` Defined in: node\_modules/@types/node/globals.d.ts:55 #### Parameters ##### err `Error` ##### stackTraces `CallSite`[] #### Returns `any` #### See https://v8.dev/docs/stack-trace-api#customizing-stack-traces #### Inherited from `Error.prepareStackTrace`