Lambda(node.js)でカスタム例外を作成する

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

view raw
gistfile1.txt
hosted with ❤ by GitHub

CustomErrorクラスを作成しました。

setterでreturn thisしているのでメソッドチェーンすることが可能です。

使い方は以下のように使えばよいです。

// errはErrorオブジェクト
throw new CustomError(500)
.setError(err)
.setErrorMessage('特別なエラー')
// 以下もOK
throw new CustomError(500)
.setError({code: '例外'})
.setErrorMessage('特別なエラー')

view raw
gistfile1.txt
hosted with ❤ by GitHub

  • このエントリーをはてなブックマークに追加
  • Evernoteに保存Evernoteに保存

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA