Skip to content
← Back to rules

eslint/preserve-caught-error 의심스러움

🛠️ An auto-fix is available for this rule for some violations.

작동 방식

catch 블록에서 오류를 재발생시키는 경우, 원본 오류가 'cause' 속성을 사용하여 유지되어야 함을 강제합니다.

왜 문제가 되는가?

원본 오류를 보존하지 않고 오류를 재발생시키면 중요한 디버깅 정보가 손실되고, 문제의 근본 원인을 추적하기가 더 어려워집니다.

예시

이 규칙에 맞지 않는 잘못된 코드 예시:

js
try {
  doSomething();
} catch (err) {
  throw new Error("Something failed");
}

이 규칙에 맞는 올바른 코드 예시:

js
try {
  doSomething();
} catch (err) {
  throw new Error("Something failed", { cause: err });
}

구성

이 규칙은 다음 속성을 가진 구성 객체를 수락합니다:

requireCatchParameter

type: boolean

기본값: false

true로 설정되면, catch 절이 항상 매개변수를 가져야 한다고 요구합니다.

사용 방법

이 규칙을 설정 파일이나 명령줄 인터페이스에서 활성화하려면 다음과 같이 사용할 수 있습니다:

json
{
  "rules": {
    "preserve-caught-error": "error"
  }
}
bash
oxlint --deny preserve-caught-error

참고 자료