JavaScript でのエラーの拡張: 総合ガイド
エラー処理は、あらゆるプログラミング言語の重要な部分です。 JavaScript では、Error はすべてのエラーの基本クラスです。ただし、基本的な Error クラスから継承し、追加の機能やプロパティを提供する独自のカスタム エラー タイプを作成したい場合があります。
ES6 を使用したエラーの拡張
ES6の導入により、Errorの拡張がかなり楽になりました。 extends キーワードを使用して、Error を継承する新しいクラスを作成できるようになりました。
class MyError extends Error { constructor(message) { super(message); this.name = 'MyError'; } }
このクラスは、Error クラスを拡張し、カスタム名のプロパティを追加します。次のように MyError のインスタンスをスローできるようになりました:
throw new MyError('Something went wrong');
MyError のインスタンスをキャッチして処理すると、そのカスタム名プロパティにアクセスできるようになり、エラーの種類を識別するのに役立ちます:
try { // ... } catch (error) { if (error instanceof MyError) { console.error(`MyError: ${error.message}`); } else { console.error(`Unknown error: ${error.message}`); } }
レガシー JavaScript を使用したエラーの拡張
レガシー JavaScript では、プロトタイプ チェーンを使用してエラーを拡張できます。
function MyError(message) { this.message = message; } MyError.prototype = Object.create(Error.prototype); MyError.prototype.constructor = MyError; MyError.prototype.name = 'MyError';
このアプローチはもう少し冗長です。ただし、ES6 をサポートしていない古いバージョンの JavaScript でも動作します。
結論
JavaScript でエラーを拡張すると、次のようなカスタム エラー タイプを作成できます。エラーに関するより詳細な情報を提供し、エラーを具体的に処理するために使用されます。 ES6 を使用するか従来の JavaScript を使用するかに関係なく、ニーズに合わせて Error を拡張する適切な方法があります。
以上がJavaScript でエラーを拡張してカスタム エラー処理を行う方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。