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æ.
cause 㯠Error ã¤ã³ã¹ã¿ã³ã¹ã®ãã¼ã¿ããããã£ã§ãã¨ã©ã¼ã®å
ã®åå ã示ãã¾ãã
ããã¯ã¨ã©ã¼ãææããããå ·ä½çãããã¯æç¨ãªã¨ã©ã¼ã¡ãã»ã¼ã¸ãåã¹ãã¼ããéã«ãå ã®ã¨ã©ã¼ã«ã¢ã¯ã»ã¹ã§ããããã«ããããã«ä½¿ç¨ããã¾ãã
å¤
Error() ã³ã³ã¹ãã©ã¯ã¿ã¼å
ã§ã弿° options.cause ã«æ¸¡ãããå¤ãåå¨ããªãå ´åãããã¾ãã
Error: cause ã®ããããã£å±æ§ | |
|---|---|
| æ¸è¾¼å¯è½ | å¯ |
| åæå¯è½ | ä¸å¯ |
| è¨å®å¯è½ | å¯ |
æ¦è¦
cause ã®å¤ã¯ã©ã®ãããªåã§ããã¾ãã¾ãããcatch æã§ãã¤ã³ãããã夿°ã Error ã§ããã¨ç¢ºå®ããªãã®ã¨åæ§ã«ããã£ããããã¨ã©ã¼ã®åå ã Error ã§ããã¨ä»®å®ãã¦ã¯ããã¾ããã以ä¸ã®ãæ§é åãã¼ã¿ãã¨ã©ã¼ã®åå ã¨ãã¦æä¾ãããä¾ã§ã¯ãã¨ã©ã¼ã§ãªããã®ãæå³çã«åå ã¨ãã¦æä¾ãã¦ãã¾ãã
ä¾
>cause ã«ããã¨ã©ã¼ã®åã¹ãã¼
ã¨ã©ã¼ããã£ããããæ°ããã¡ãã»ã¼ã¸ã§åã¹ãã¼ããã¨ä¾¿å©ãªãã¨ãããã¾ãã
ãã®ä¾ã§ã¯ãå
ã®ã¨ã©ã¼ãæ°ãã Error ã®ã³ã³ã¹ãã©ã¯ã¿ã¼ã«æ¸¡ãã¦ãã¾ãã
try {
connectToDatabase();
} catch (err) {
throw new Error("Connecting to database failed.", { cause: err });
}
ãã詳細ãªä¾ã«ã¤ãã¦ã¯ãError > é¡ä¼¼ããã¨ã©ã¼ã¨åºå¥ãã ãåç §ãã¦ãã ããã
æ§é åãã¼ã¿ãã¨ã©ã¼ã®åå ã¨ãã¦æä¾ãã
人éãèªãããã«æ¸ãããã¨ã©ã¼ã¡ãã»ã¼ã¸ã¯ãæ©æ¢°ãè§£æããã«ã¯ä¸é©åã§ããã¨ã©ã¼ã¡ãã»ã¼ã¸ã¯èªå¥ã®è¨ãæããå¥èªç¹ã®å¤æ´ã«å½±é¿ããããããããããå¦çããããã«æ¸ãããæ¢åã®æ§æè§£æãå£ãã¦ãã¾ãå¯è½æ§ãããããã§ãããã®ãã颿°ããã¨ã©ã¼ãã¹ãã¼ããå ´åã人éãèªããã¨ã©ã¼ã¡ãã»ã¼ã¸ã¨å ±ã«æ©æ¢°ãè§£æã§ããããã«æ§é åãã¼ã¿ã¨ãã¦åå ãæä¾ãããã¨ãã§ãã¾ãã
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> |