2.0 KiB
2.0 KiB
Error handling
Error handling can be done via promises like this:
// fetching the heic image
fetch("./my-image.heic")
.then((res) => res.blob())
.then((blob) => heic2any({ blob }))
.then((conversionResult) => {
var url = URL.createObjectURL(conversionResult);
document.getElementById("my-image").innerHTML = `<img src="${url}">`;
})
.catch((errorObject) => {
console.log(errorObject);
});
When an error occurs the console.log of the above example would output for example:
{
"code": 1,
"message": "ERR_USER library only accepts BLOBs as input"
}
The code property represents a class of error, while the message property explains deeper details of why the error occurred.
Error codes
| Code | Explanation |
|---|---|
1 |
A user error, user should revise the parameters given to the library function |
2 |
LIBHEIF error, the error occurred when trying to decode the heic file |
3 |
GIF error, the error occurred when trying to encode an animated gif. |
4 |
DOM error, error occurred when trying to utilize the DOM API like the file reader, the Blob class and base64 encoders |
5 |
Canvas error, error occurred when trying to setup the final conversion canvas, as the canvas api is used to convert pixel data to a real image |
0 |
Unknown error, error doesn't belong to any of the above classes. |