カスタムエラー

ES2015 (ES6)以降

 class MyError extends Error {
   constructor(message) {
     super(message);
     this.name = new.target.name;          // (1)
   }
 }
 
 const err = new MyError("ERROR-MESSAGE");
 console.log(err.toString());              // (2)
 if (err instanceof MyError){
   console.log("OK");
 }
 
 ↓
 ↓
 ↓  
 
 MyError: ERROR-MESSAGE
 OK
  • (1) nameの指定をしないと、
  • (2) のtoString()が MyError: ERROR-MESSAGEではなくError: ERROR-MESSAGEになる

参考


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS

Last-modified: 2021-03-21 (日) 12:16:25