컴퓨터/C
프로그래머가 다양한 소스코드를 작성하여 프로그램을 만들다 보면 예상하지 못한 다양한 버그와 만나게 된다. 이때 발견된 버그들을 다시 발생하지 않도록 수정을 해야 된다. 이런 예상하지 못한 버그들의 발생을 방지 또는 없애기 위해 하는 행위들 예외처리라고 한다.
만약 아래와 같은 프로그램을 만들었다고 생각해 보도록 하자
여기서 프로그래머의 의도된 선택지는 2개입니다. 이선 택지를 선택했을 때의 경우는 문제가 되지 않는다. 하지만 아래의 경우 어떠한 문제가 발생할지 모른다.
이런식으로 다양한 프로그래머가 의도하지 않는 동작이 이루어졌을 때 예상하지 못한 문제를 방지하기 위한 기법을 예외 처리라고 한다.
C언어의 경우 다양한 예외를 프로그래머가 논리적인 소스코드 절차를 통해 처리합니다.
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main() {
int input;
printf("음료를 선택하세요\n");
printf("1. 콜라\n");
printf("2. 사이다\n");
printf("구매할 메뉴의 번호를 입력 하세요 : ");
scanf("%d", &input);
if (input == 1) {
printf("콜라를 구매 했습니다.\n");
}
else if (input == 2) {
printf("사이드를 구매 했습니다.\n");
}
return 0;
}
만약 위와 같은 프로그램에서 다른 선택지를 입력한다면 아래와 같이 아무런 동작을 하지 않게 됩니다.
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main() {
int input;
printf("음료를 선택하세요\n");
printf("1. 콜라\n");
printf("2. 사이다\n");
printf("구매할 메뉴의 번호를 입력 하세요 : ");
scanf("%d", &input);
if (input == 1) {
printf("콜라를 구매 했습니다.\n");
}
else if (input == 2) {
printf("사이드를 구매 했습니다.\n");
}
else {
printf("정확한 번호를 입력하지 않았습니다.\n");
}
return 0;
}
Visual Studio - Debug 와 Release (프로그램 배포) (0) | 2022.01.05 |
---|---|
C 언어 - scan 무한 반복 에러 (0) | 2021.12.01 |
C 언어 - 버퍼와 scanf 함수 (다양한 에러의 원인과 해결법) (0) | 2021.11.29 |
C 언어 - 버퍼(Buffer)의 개념과 이해 (0) | 2021.11.24 |
C 언어 - time.h (0) | 2021.10.02 |
91년생 공학엔지니어의 개발일지
TODAY :
YESTER DAY :
TOTAL :
Commnet