• 追加された行はこの色です。
  • 削除された行はこの色です。
#author("2021-03-21T12:12:59+09:00","default:ryuichi","ryuichi")
#author("2021-03-21T12:16:25+09:00","default:ryuichi","ryuichi")
* カスタムエラー [#d0e817be]

** ES2015 (ES6)以降 [#s1d83966]

 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
 MyError: ERROR-MESSAGE
 OK

- (1) nameの指定をしないと、
- (2)が
- (2) のtoString()が '''MyError: ERROR-MESSAGE'''ではなく'''Error: ERROR-MESSAGE'''になる

** 参考 [#i1cfafbd]

- https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Error/name
- https://future-architect.github.io/typescript-guide/exception.html


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS