# SenseError

Defined in: [src/errors.ts:6](https://github.com/jacobgoldfarb/Jevlish/blob/83ccd8c0be5f41962c805f7d42ddf1b1f048de89/src/errors.ts#L6)

Errors raised by the library itself: malformed expressions, exceeded budgets, missing handlers. Transport failures from the underlying SDK propagate as-is; a timeout is never evidence about a proposition.

## Extends

* `Error`

## Constructors

### Constructor

> **new SenseError**(`message`, `options?`): `SenseError`

Defined in: [src/errors.ts:8](https://github.com/jacobgoldfarb/Jevlish/blob/83ccd8c0be5f41962c805f7d42ddf1b1f048de89/src/errors.ts#L8)

`options.cause` carries the underlying error when one exists.

#### Parameters

| Parameter  | Type           |
| ---------- | -------------- |
| `message`  | `string`       |
| `options?` | `ErrorOptions` |

#### Returns

`SenseError`

#### Overrides

`Error.constructor`

## Properties

| Property              | Modifier | Type      | Description                                                                                                                                                                                                                                                                                                                                                                                                                                       | Inherited from          | Defined in                                                 |
| --------------------- | -------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------- | ---------------------------------------------------------- |
| []()`stackTraceLimit` | `static` | `number`  | 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. | `Error.stackTraceLimit` | node\_modules/@types/node/globals.d.ts:67                  |
| []()`cause?`          | `public` | `unknown` | -                                                                                                                                                                                                                                                                                                                                                                                                                                                 | `Error.cause`           | docs/node\_modules/typescript/lib/lib.es2022.error.d.ts:24 |
| []()`name`            | `public` | `string`  | -                                                                                                                                                                                                                                                                                                                                                                                                                                                 | `Error.name`            | docs/node\_modules/typescript/lib/lib.es5.d.ts:1074        |
| []()`message`         | `public` | `string`  | -                                                                                                                                                                                                                                                                                                                                                                                                                                                 | `Error.message`         | docs/node\_modules/typescript/lib/lib.es5.d.ts:1075        |
| []()`stack?`          | `public` | `string`  | -                                                                                                                                                                                                                                                                                                                                                                                                                                                 | `Error.stack`           | docs/node\_modules/typescript/lib/lib.es5.d.ts:1076        |

## 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

| Parameter         | Type       |
| ----------------- | ---------- |
| `targetObject`    | `object`   |
| `constructorOpt?` | `Function` |

#### Returns

`void`

#### Inherited from

`Error.captureStackTrace`

***

### prepareStackTrace()

> `static` **prepareStackTrace**(`err`, `stackTraces`): `any`

Defined in: node\_modules/@types/node/globals.d.ts:55

#### Parameters

| Parameter     | Type          |
| ------------- | ------------- |
| `err`         | `Error`       |
| `stackTraces` | `CallSite`\[] |

#### Returns

`any`

#### See

<https://v8.dev/docs/stack-trace-api#customizing-stack-traces>

#### Inherited from

`Error.prepareStackTrace`