1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【JavaScript】カスタム例外の書き方

Last updated at Posted at 2022-02-25

JavaScriptにおけるカスタム例外の書き方をメモしておく。

カスタム例外の書き方

カスタム例外を作成することで、例外処理でどのようなエラーが発生したか細かく判別できるようになる。カスタム例外は、組み込みのErrorクラスを継承して、その中にコンストラクタを定義する。サンプルが以下のようになる。

カスタム例外クラス
class MyError extends Error {
	constructor(message) {
		super(message);
		this.name = "MyError";
	}
}

ここで、this.name = "MyError";を記述してnameプロパティを正しい名前に上書きしている。これを記述しないとerror.nameErrorのままになってします。ただし、instanceofでのエラー判別は正常に動作する。これを使って例外処理を書いてみると以下のようになる。

例外処理
try {
	throw new MyError("カスタム例外が発生しました。");
} catch (error) {
	if (error instanceof MyError) {
		console.log(error);            // MyError: カスタム例外が発生しました。
		console.log(error.message);    // カスタム例外が発生しました。
		console.log(error.name);       // MyError
	} else {
		console.log(error);
	}
}
1
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?