codestates / codestates/GongJang
Server Error Handling : 반복문 스코프 이슈
- 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.