Try..Catch 2
by evildonald
HTML
<div id="demo">(empty)</div>
<div id="status">(fail)</div>
JavaScript
function main() {
document.getElementById("demo").innerHTML = processAllPurchases()
document.getElementById("status").innerHTML = "ok"
}
function processAllPurchases() {
try {
return b()
}
catch (error) {
return "An unhandled error was encountered. This purchase was not successful."
}
}
function b() {
return validatePurchase()
}
function validatePurchase() {
let price = 0
// deduct the price, and some error happens
throw new Error('Cannot divide by zero')
return price
}
main()