pFad - Phone/Frame/Anonymizer/Declutterfier! Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

URL: http://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Error/cause

0-390a1aebf6dd/airgap.js" >

このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

Error: cause

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2021年9月.

causeError インスタンスのデータプロパティで、エラーの元の原因を示します。

これはエラーを捕捉し、より具体的もしくは有用なエラーメッセージを再スローする際に、元のエラーにアクセスできるようにするために使用されます。

Error() コンストラクター内で、引数 options.cause に渡された値。存在しない場合もあります。

Error: cause のプロパティ属性
書込可能
列挙可能不可
設定可能

概要

cause の値はどのような型でもかまいません。catch 文でバインドされる変数が Error であると確定しないのと同様に、キャッチしたエラーの原因が Error であると仮定してはいけません。以下の「構造化データをエラーの原因として提供する」例では、エラーでないものを意図的に原因として提供しています。

cause によるエラーの再スロー

エラーをキャッチし、新しいメッセージで再スローすると便利なことがあります。 この例では、元のエラーを新しい Error のコンストラクターに渡しています。

js
try {
  connectToDatabase();
} catch (err) {
  throw new Error("Connecting to database failed.", { cause: err });
}

より詳細な例については、Error > 類似するエラーと区別する を参照してください。

構造化データをエラーの原因として提供する

人間が読むために書かれたエラーメッセージは、機械が解析するには不適切です。エラーメッセージは語句の言い換えや句読点の変更に影響されるため、それらを処理するために書かれた既存の構文解析を壊してしまう可能性があるからです。そのため関数からエラーをスローする場合、人間が読めるエラーメッセージと共に機械が解析できるように構造化データとして原因を提供することができます。

js
function makeRSA(p, q) {
  if (!Number.isInteger(p) || !Number.isInteger(q)) {
    throw new Error("RSA key generation requires integer inputs.", {
      cause: { code: "NonInteger", values: [p, q] },
    });
  }
  if (!areCoprime(p, q)) {
    throw new Error("RSA key generation requires two co-prime integers.", {
      cause: { code: "NonCoprime", values: [p, q] },
    });
  }
  // rsa algorithm…
}

仕様書

Specification
ECMAScript® 2027 Language Specification
# sec-installerrorcause

ブラウザーの互換性

関連情報

pFad - Phonifier reborn

Pfad - The Proxy pFad © 2024 Your Company Name. All rights reserved.





Check this box to remove all script contents from the fetched content.



Check this box to remove all images from the fetched content.


Check this box to remove all CSS styles from the fetched content.


Check this box to keep images inefficiently compressed and original size.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy