diff --git a/src/components/App/index.tsx b/src/components/App/index.tsx index 29fc9847..39908eb1 100644 --- a/src/components/App/index.tsx +++ b/src/components/App/index.tsx @@ -155,7 +155,7 @@ export default class App extends Component { // changed. if (source !== prevState.source || image.encoderState !== prevImage.encoderState) { if (prevImage.downloadUrl) URL.revokeObjectURL(prevImage.downloadUrl); - this.updateImage(i); + this.updateImage(i).catch(console.error); } } } @@ -230,7 +230,13 @@ export default class App extends Component { return; } - const bmp = await createImageBitmap(file); + let bmp; + try { + bmp = await createImageBitmap(file); + } catch (err) { + this.setState({ error: `Encoding error (type=${image.encoderState.type}): ${err}` }); + throw err; + } images = this.state.images.slice() as [EncodedImage, EncodedImage]; @@ -243,7 +249,7 @@ export default class App extends Component { loadedCounter: loadingCounter, }; - this.setState({ images, error: '' }); + this.setState({ images }); } render({ }: Props, { loading, error, images }: State) {