Lambda(node.js)でカスタム例外を作成する
node.js v12でErrorオブジェクトを継承したカスタム例外クラスを作ってみます。
'use strict' class CustomError extends Error { /** * コンストラクタ * @param {number} code エラーコード */ constructor(code) { super(code) this.code = code } /** * Errorのネイティブオブジェクトを設定する * @param {object} error 発生したネイティブエラーオブジェクト */ setError(error) { this.error = error return this } /** * メッセージを設定する * @param {string} errorMessage メッセージ */ setErrorMessage(errorMessage) { this.errorMessage = errorMessage return this } } module.exports = CustomError
CustomErrorクラスを作成しました。
setterでreturn this
しているのでメソッドチェーンすることが可能です。
使い方は以下のように使えばよいです。
// errはErrorオブジェクト throw new CustomError(500) .setError(err) .setErrorMessage('特別なエラー') // 以下もOK throw new CustomError(500) .setError({code: '例外'}) .setErrorMessage('特別なエラー')
KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^
コメント