# Source: https://docs.convex.dev/api/classes/values.ConvexError.md

# Class: ConvexError\<TData>

[values](/api/modules/values.md).ConvexError

## Type parameters[​](#type-parameters "Direct link to Type parameters")

| Name    | Type                                            |
| ------- | ----------------------------------------------- |
| `TData` | extends [`Value`](/api/modules/values.md#value) |

## Hierarchy[​](#hierarchy "Direct link to Hierarchy")

* `Error`

  ↳ **`ConvexError`**

## Constructors[​](#constructors "Direct link to Constructors")

### constructor[​](#constructor "Direct link to constructor")

• **new ConvexError**<`TData`>(`data`)

#### Type parameters[​](#type-parameters-1 "Direct link to Type parameters")

| Name    | Type                                            |
| ------- | ----------------------------------------------- |
| `TData` | extends [`Value`](/api/modules/values.md#value) |

#### Parameters[​](#parameters "Direct link to Parameters")

| Name   | Type    |
| ------ | ------- |
| `data` | `TData` |

#### Overrides[​](#overrides "Direct link to Overrides")

Error.constructor

#### Defined in[​](#defined-in "Direct link to Defined in")

[values/errors.ts:10](https://github.com/get-convex/convex-js/blob/main/src/values/errors.ts#L10)

## Properties[​](#properties "Direct link to Properties")

### stackTraceLimit[​](#stacktracelimit "Direct link to stackTraceLimit")

▪ `Static` **stackTraceLimit**: `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.

#### Inherited from[​](#inherited-from "Direct link to Inherited from")

Error.stackTraceLimit

#### Defined in[​](#defined-in-1 "Direct link to Defined in")

../../common/temp/node\_modules/.pnpm/@types+node\@18.19.130/node\_modules/@types/node/globals.d.ts:68

***

### cause[​](#cause "Direct link to cause")

• `Optional` **cause**: `unknown`

#### Inherited from[​](#inherited-from-1 "Direct link to Inherited from")

Error.cause

#### Defined in[​](#defined-in-2 "Direct link to Defined in")

../../common/temp/node\_modules/.pnpm/typescript\@5.0.4/node\_modules/typescript/lib/lib.es2022.error.d.ts:24

***

### message[​](#message "Direct link to message")

• **message**: `string`

#### Inherited from[​](#inherited-from-2 "Direct link to Inherited from")

Error.message

#### Defined in[​](#defined-in-3 "Direct link to Defined in")

../../common/temp/node\_modules/.pnpm/typescript\@5.0.4/node\_modules/typescript/lib/lib.es5.d.ts:1055

***

### stack[​](#stack "Direct link to stack")

• `Optional` **stack**: `string`

#### Inherited from[​](#inherited-from-3 "Direct link to Inherited from")

Error.stack

#### Defined in[​](#defined-in-4 "Direct link to Defined in")

../../common/temp/node\_modules/.pnpm/typescript\@5.0.4/node\_modules/typescript/lib/lib.es5.d.ts:1056

***

### name[​](#name "Direct link to name")

• **name**: `string` = `"ConvexError"`

#### Overrides[​](#overrides-1 "Direct link to Overrides")

Error.name

#### Defined in[​](#defined-in-5 "Direct link to Defined in")

[values/errors.ts:6](https://github.com/get-convex/convex-js/blob/main/src/values/errors.ts#L6)

***

### data[​](#data "Direct link to data")

• **data**: `TData`

#### Defined in[​](#defined-in-6 "Direct link to Defined in")

[values/errors.ts:7](https://github.com/get-convex/convex-js/blob/main/src/values/errors.ts#L7)

***

### \[IDENTIFYING\_FIELD][​](#identifying_field "Direct link to \[IDENTIFYING_FIELD]")

• **\[IDENTIFYING\_FIELD]**: `boolean` = `true`

#### Defined in[​](#defined-in-7 "Direct link to Defined in")

[values/errors.ts:8](https://github.com/get-convex/convex-js/blob/main/src/values/errors.ts#L8)

## Methods[​](#methods "Direct link to Methods")

### captureStackTrace[​](#capturestacktrace "Direct link to captureStackTrace")

▸ `Static` **captureStackTrace**(`targetObject`, `constructorOpt?`): `void`

Creates a `.stack` property on `targetObject`, which when accessed returns a string representing the location in the code at which `Error.captureStackTrace()` was called.

```
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:

```
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[​](#parameters-1 "Direct link to Parameters")

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

#### Returns[​](#returns "Direct link to Returns")

`void`

#### Inherited from[​](#inherited-from-4 "Direct link to Inherited from")

Error.captureStackTrace

#### Defined in[​](#defined-in-8 "Direct link to Defined in")

../../common/temp/node\_modules/.pnpm/@types+node\@18.19.130/node\_modules/@types/node/globals.d.ts:52

***

### prepareStackTrace[​](#preparestacktrace "Direct link to prepareStackTrace")

▸ `Static` **prepareStackTrace**(`err`, `stackTraces`): `any`

**`See`**

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

#### Parameters[​](#parameters-2 "Direct link to Parameters")

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

#### Returns[​](#returns-1 "Direct link to Returns")

`any`

#### Inherited from[​](#inherited-from-5 "Direct link to Inherited from")

Error.prepareStackTrace

#### Defined in[​](#defined-in-9 "Direct link to Defined in")

../../common/temp/node\_modules/.pnpm/@types+node\@18.19.130/node\_modules/@types/node/globals.d.ts:56