과거의 내가 미래의 나에게
[트러블슈팅] Unreachable code 본문
Unreachable code 에러문구는 도달할 수 없는 코드로, 소스 중에 어떠한 방법으로도 도달되지 않는 구문이 있다면 생성되는 에러다.
try {
// 아무런 코드도 없음
return {};
} catch (error) {
console.error(error);
return undefined;
}
예를 들어 try 부분에서 에러가 나면 catch로 보내질텐데 위의 구문의 경우 애초에 try에는 catch로 보내질 껀덕지가 없다. 그렇기 때문에 Unreachable code 에러가 나타나게 된다.
function test(a){
if(a === 1){
return '1번'
}else{
return '그 외'
}
console.log(a)
}
위의 코드도 똑같다. 함수 test를 실행하면 if문으로 시작하여 반드시 if문이나 else 문에서 return으로 인하여 함수가 종결날 것이니 그 아래에 있는 console.log는 실행될 턱이 없다.
사실 위의 에러는 IDE에서 왠만해선 다 잡아주고 또 개발을 어느정도 하신 분들이라면 잘 실수하지 않는 에러일텐데 오래된 개발자 분이 쓴 코드 중 하나가 저 에러를 뱉고있어서 좀 놀랬었다. 아마 급하게 코드를 짜시느라 난 실수였겠지?
경험이 풍부하고 연차가 높아도 작은 실수는 언제나 겪을 수 있다. 그러므로 코드를 리팩토링하고 코드리뷰하는 등 코드의 품질을 유지할 수 있도록 언제나 노력을 기울여야겠다.
'트러블슈팅' 카테고리의 다른 글
[트러블슈팅] justify-content: center를 사용했는데 화면이 줄어들 시 내용물이 잘리는 현상 (0) | 2024.02.18 |
---|---|
[트러블슈팅] 브라우저에서 자동 재생 제한 정책에 의한 에러 (0) | 2023.11.05 |
[트러블슈팅] Vue2: 객체 수정 시 반응형이 묵묵무답 (0) | 2023.09.10 |
Comments