This feature is well established and works across many devices and browser versions. It’s been available across browsers since May 2022.
Note: This feature is available in Web Workers.
The error() method of the WritableStreamDefaultController interface causes any future interactions with the associated stream to error.
This method is rarely used, since usually it suffices to return a rejected promise from one of the underlying sink's methods. However, it can be useful for suddenly shutting down a stream in response to an event outside the normal lifecycle of interactions with the underlying sink.
error(message)
messageA string representing the error you want future interactions to fail with.
None (undefined).
TypeErrorThe stream you are trying to error is not a WritableStream.
const writableStream = new WritableStream({
start(controller) {
// do stuff with controller
// error stream if necessary
controller.error("My error is broken");
},
write(chunk, controller) {
// …
},
close(controller) {
// …
},
abort(err) {
// …
},
});
| Specification |
|---|
| Streams> # ref-for-ws-default-controller-error①> |
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
error |
59 | 16 | 100 | 46 | 14.1 | 59 | 100 | 43 | 14.5 | 7.0 | 59 | 14.5 |
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/WritableStreamDefaultController/error