A pattern I picked up while learning Go was to return an error object -- particularly useful when calling web services:
function getData() {
let data = null;
let error = null;
try {
data = "success";
} catch (e) {
error = e
}
return [data, error]
}
const [data, dataError] = getData();
https://www.npmjs.com/package/try-catch https://gist.github.com/coderaiser/a26e535bc43b5fe1ac4d72624bd6bed2