> ## Documentation Index
> Fetch the complete documentation index at: https://docs.qu.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# makeError

```ts theme={null}
function makeError<K, T>(
   message, 
   code, 
   info?): T
```

Returns a new Error configured to the format quais emits errors, with the `message`, [**ErrorCode**](/sdk/content/type-aliases/ErrorCode)
`code` and additional properties for the corresponding quaisError.

Each error in quais includes the version of quais, a machine-readable [**ErrorCode**](/sdk/content/type-aliases/ErrorCode), and depending
on `code`, additional required properties. The error message will also include the `message`, quais version, `code`
and all additional properties, serialized.

## Type parameters

| Type parameter                                                                          |
| :-------------------------------------------------------------------------------------- |
| `K` *extends* [`ErrorCode`](/sdk/content/type-aliases/ErrorCode)                        |
| `T` *extends*                                                                           |
| \| [`UnknownError`](/sdk/content/interfaces/UnknownError)                               |
| \| [`InvalidArgumentError`](/sdk/content/interfaces/InvalidArgumentError)               |
| \| [`BadDataError`](/sdk/content/interfaces/BadDataError)                               |
| \| [`NotImplementedError`](/sdk/content/interfaces/NotImplementedError)                 |
| \| [`UnsupportedOperationError`](/sdk/content/interfaces/UnsupportedOperationError)     |
| \| [`NetworkError`](/sdk/content/interfaces/NetworkError)                               |
| \| [`ServerError`](/sdk/content/interfaces/ServerError)                                 |
| \| [`TimeoutError`](/sdk/content/interfaces/TimeoutError)                               |
| \| [`CancelledError`](/sdk/content/interfaces/CancelledError)                           |
| \| [`BufferOverrunError`](/sdk/content/interfaces/BufferOverrunError)                   |
| \| [`NumericFaultError`](/sdk/content/interfaces/NumericFaultError)                     |
| \| [`MissingArgumentError`](/sdk/content/interfaces/MissingArgumentError)               |
| \| [`UnexpectedArgumentError`](/sdk/content/interfaces/UnexpectedArgumentError)         |
| \| [`CallExceptionError`](/sdk/content/interfaces/CallExceptionError)                   |
| \| [`InsufficientFundsError`](/sdk/content/interfaces/InsufficientFundsError)           |
| \| [`NonceExpiredError`](/sdk/content/interfaces/NonceExpiredError)                     |
| \| [`ReplacementUnderpricedError`](/sdk/content/interfaces/ReplacementUnderpricedError) |
| \| [`TransactionReplacedError`](/sdk/content/interfaces/TransactionReplacedError)       |
| \| `TransactionNotFoundError`                                                           |
| \| `TransactionAlreadyKnown`                                                            |
| \| [`ActionRejectedError`](/sdk/content/interfaces/ActionRejectedError)                 |
| \| `ProviderFailedToInitializeError`                                                    |

## Parameters

| Parameter | Type              | Description                          |
| :-------- | :---------------- | :----------------------------------- |
| `message` | `string`          | The error message.                   |
| `code`    | `K`               | The error code.                      |
| `info`?   | `ErrorInfo`\<`T`> | Additional properties for the error. |

## Returns

`T`

The new error.

## Source

[utils/errors.ts:691](https://github.com/dominant-strategies/quais.js/blob/c1c12d43f9d34c6baad2b0542bd6d0acd6fefcbf/src/utils/errors.ts#L691)
