eslint/no-unsafe-finally 정확성
작동 방식
finally 블록 내에서 제어 흐름 문을 금지합니다.
왜 좋지 않은가?
자바스크립트는 finally 블록의 실행이 완료될 때까지 try 및 catch 블록의 제어 흐름 문을 일시 중단합니다.
따라서 finally 내부에서 return, throw, break, 또는 continue를 사용하면, try 및 catch 블록 내부의 제어 흐름 문이 덮어쓰게 됩니다. 개발자에게는 예상치 못한 동작일 수 있습니다.
예시
이 규칙에 위반되는 잘못된 코드 예시:
javascript
// 이 함수는 1을 반환할 것으로 기대하지만;
(() => {
try {
return 1; // 1은 반환되지만, finally 블록이 끝날 때까지 일시 중단됨
} catch (err) {
return 2;
} finally {
return 3; // 1보다 먼저 3이 반환되어, 예상하지 못한 결과
}
})();
// > 3사용 방법
이 규칙을 구성 파일이나 명령줄 인터페이스에서 활성화하려면 다음을 사용하세요:
json
{
"rules": {
"no-unsafe-finally": "error"
}
}bash
oxlint --deny no-unsafe-finally