try {
setTimeout(()=>{
throw '!';
},1000);
}catch(e){
console.log('cought:'+e);
}

console.log('tryの外');

とやったら、やはりcatch出来ませんでした
catchする方法はないのでしょうか?
そもそも例外と非同期処理の間に相容れないものがある気がします
処理が失敗した時、
その失敗にどう対応するかは後で考えようという場合に、とりあえず例外を投げるようにしておく、
という方針がありますが
それが使えないということですよね?