Error cause
Error.cause는 개발자의 DX를 위해 만들어졌다. Error의 두번째 parameter에 부가적인 정보를 담을 수 있다.
try {
2 + 2;
throw new Error("DB Connection Failed.", {
cause: "Password is incorrect.",
});
} catch (e) {
console.log(e.message, e.cause);
}
DB Connection Failed.
Password is incorrect.
cause는 꼭 문자열일 필요가 없고 아무 자료구조나 가능하다.
try {
2 + 2;
throw new Error("DB Connection Failed.", {
cause: {
error: "Password is incorrect.",
value: 1234,
message: ["too short", "only number not ok"],
},
});
} catch (e) {
console.log(e.cause);
}
Error.cause를 통해 더 나은 에러를 만들 수 있다.