# Error
<!-- prettier-ignore -->
| | |
| --- | --- |
| **_Description:_** | The data type generated by the `error make` command and other internal commands when an error condition occurs.
| **_Annotation:_** | `error`
| **_Literal syntax:_** | None
| **_Casts:_** | `error make` (see below)
## Additional Language Notes
1. While `error` may be used as a type annotation, there is currently no known use-case for doing so, since an `error` value can never be _assigned_ to a variable or custom command parameter. Any error condition results in termination of the current command/expression and will also terminate any assignment expression or custom command. For example:
```nu
> let e: error = (error make --unspanned { msg: "This is an error" })
Error: × This is an error
> $e
Error: nu::shell::variable_not_found
× Variable not found
╭─[entry #19:1:1]
1 │ $e
· ─┬
· ╰── variable not found
╰────
```
1. The `error` type is also returned from internal Nushell commands to indicate an error condition, but as with assignment, there is no way to use this result.
1. Surrounding code that might potentially throw an `error` with a `try`/`catch {|e|}` block will result in an `$e` variable that is a `record`, not an `error` type.