어떠한 함수를 호출 했을 때 오류가 났을 시에 해야할 조치
std::abort();
exit(123); // 정상 종료이지만 에러 코드를 반환함
return 123; // 위와 같은 동작
int main() {
freopen("input.txt", "r", stdout);
int result = printf("abc");
cout << result << endl; // 출력문과 글자수 출력
bool r = cout.fail();
cout << r << endl;
}
printf()는 오류가 일어날 시에 -1을 출력
cout.fail()을 통해 cout의 오류를 검출 가능하다.
cout.faio() = true 일 시에 오류 발생
#pragma warning(disable: 4996)
#include <iostream>
#include <cstdio>
using std::cout, std::endl;
int errorCode = 0;
double divide(double d, double v) {
if (v == 0) {
errorCode = 0;
return 0;
}
return d / v;
}
int main() {
double result = divide(10, 0);
cout << result << endl;
}
0
errorCode를 전역 변수로 설정하여 오류 검출
전역 변수를 사용하기 때문에 권장되지 않는 사용법