async function someFunc(throwError) {
try {
console.log('try... acquire resources')
if (throwError)
return Promise.reject(new Error('Something went wrong'))
else
return Promise.resolve({ result: 'Some result' })
}
finally {
console.log('finally... cleanup resources')
}
}
async function main() {
try {
const res = await someFunc(true)
console.log(res)
} catch (ex) {
console.error('Catching error outside of someFunc\n', ex)
}
}
main()