MediaRecorderErrorEvent: error property
=======================================

**Deprecated:** This feature is no longer recommended. Though some browsers might still support it, it may have already been removed from the relevant web standards, may be in the process of being dropped, or may only be kept for compatibility purposes. Avoid using it, and update existing code if possible; see the compatibility table at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time.

**Non-standard:** This feature is non-standard and is not on a standards track. Do not use it on production sites facing the Web: it will not work for every user. There may also be large incompatibilities between implementations and the behavior may change in the future.

 The **`error`** read-only property of the
 `MediaRecorderErrorEvent` interface is a
 `DOMException` object providing details about the exception that was thrown
 by a `MediaRecorder` instance.

 When a `MediaRecorderErrorEvent` occurs, you can determine to some extent
 what went wrong by examining the `error` property within the
 `MediaRecorderErrorEvent` received by the `MediaRecorder`'s
 `error` event handler, `onerror`.

Value
-----

 A `DOMException` describing the error represented by the event. The
 error's `name` property's value may be any exception
 that makes sense during the handling of media recording, including these specifically
 identified by the specification. The descriptions here are generic ones; you'll find
 more specific ones to various scenarios in which they may occur in the corresponding
 method references.

`InvalidStateError`

 An operation was attempted in a context in which it isn't allowed, or a request has
 been made on an object that's deleted or removed.


`NotSupportedError`

 A `MediaRecorder` couldn't be created because the specified options
 weren't valid. The `message` attribute should provide additional
 information, if it exists.


`SecurityError`

 The `MediaStream` is configured to disallow recording. This may be the
 case, for example, with sources obtained using `getUserMedia()` when the user denies permission to use an input device.


`InvalidModificationError`

 The number of tracks on the stream being recorded has changed. You can't add or
 remove tracks while recording media.


`UnknownError`

 A non-security related error occurred that cannot otherwise be categorized.
 Recording stops, the `MediaRecorder`'s `state` becomes `inactive`, one last `dataavailable` event is
 sent to the `MediaRecorder` with the remaining received data, and finally a
 `stop` event is sent.


Examples
--------

### Basic error-handling example

 This function creates and returns a `MediaRecorder` for a given
 `MediaStream`, configured to buffer data into an array and to watch for
 errors.


```js
function recordStream(stream) {
  let recorder = null;
  let bufferList = [];

  try {
    recorder = new MediaRecorder(stream);
  } catch (err) {
    /\* exception while trying to create the recorder; handle that \*/
  }

  recorder.ondataavailable = (event) => {
    bufferList.push(event.data);
  };

  recorder.onerror = (event) => {
    console.error(`Error: ${event.error}`);
  };

  recorder.start(100); /\* 100ms time slices per buffer \*/
  return recorder;
}
```

Specifications
--------------

This feature is no longer part of any specification, and longer on track to become standard.

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

See also
--------

* MediaStream Recording API
* Using the MediaStream Recording API