codestates / codestates/GongJang

Server Error Handling : 반복문 스코프 이슈

Open
#85 0 comments 0 reactions 1 assignee Claimed by @yjy1412 View on GitHub
error
Dominant language
JavaScript
Stars
0
Forks
2
PR merge metrics
No merged PRs in 30d

Description

## 어떤 에러인가요?
게시글 업로드 요청에 따른 서버 기능 구현 중, 클라이언트에서 배열형태로 전달된 'image'데이터를 DB에 저장하기 위해 개별처리하던 중 선언된 변수를 읽지 못하는 에러 발생
## 에러 메시지
`'image1 is not defined`
## 에러 핸들링 방법
[처음 구현 방법]
```javascript
const inputImage = req.body.image // type: array, maxLength: 3
for (let i = 0; i < inputImage.length; i += 1) {
if (i === 0) {
let image1 = inputImage[i];
let image2 = null;
let image3 = null;
} else if (i === 1) {
image2 = inputImage[i];
} else if (i === 2) {
image3 = inputImage[i];
}
}
```
지금 생각해 보면, 왜 scope를 바로 고려 안 했을까 싶지만, 당시에는 다른 데서 원인을 찾는 것에 바빴다.

[해결 방법]
```javascript
const inputImage = req.body.image // type: array, maxLength: 3
let image1 = null;
let image2 = null;
let image3 = null;

if (inputImage !== undefined) {
for (let i = 0; i < inputImage.length; i += 1) {
if (i === 0) {
image1 = inputImage[i];
} else if (i === 1) {
image2 = inputImage[i];
} else if (i === 2) {
image3 = inputImage[i];
}
}
}
```
변수 선언을 For 반복문 밖으로 빼줌으로써 해결됨.
추가로, inputImage가 undefined일 때도 에러발생하지 않도록 수정.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.