요약 - 안전한 나눗셈
Coddy C++ 여정의 로직과 흐름 섹션에 포함된 레슨 — 56개 중 53번째.
챌린지
쉬움포괄적인 예외 처리를 사용하여 안전한 나눗셈을 구현하는 프로그램을 작성하세요. 이 챌린지는 함수 설계와 예외 관리를 결합하여 0으로 나누기 오류를 우아하게 처리하는 능력을 테스트합니다.
다음과 같은 입력이 제공됩니다:
- 나누어지는 수를 나타내는 double형
numerator - 나누는 수를 나타내는 double형
denominator
프로그램은 다음을 수행해야 합니다:
- 두 개의 double 매개변수(numerator와 denominator)를 받는
safeDivide라는 이름의 함수를 생성합니다. - 함수 내부에서 denominator가 0과 같은지 확인합니다.
- denominator가 0이면,
"Division by zero error"라는 문자열을throw합니다. - denominator가 0이 아니면, 나눗셈 결과를 계산하여 double형으로 반환합니다.
- main 함수에서 입력값과 함께
try블록 내에서safeDivide를 호출합니다. catch블록을 사용하여 던져진 문자열 예외를 처리합니다.- 나눗셈의 성공 또는 실패 여부에 따라 적절한 메시지를 출력합니다.
다음과 같은 정확한 출력 형식을 사용하세요:
나눗셈에 성공한 경우:
Result: [division_result]0으로 나누기 오류가 발생한 경우:
Error: Division by zero errordenominator가 0일 때, 함수는 나눗셈을 시도하기 전에 즉시 예외를 throw해야 함을 기억하세요. catch 블록은 던져진 문자열 리터럴을 처리하기 위해 const char* 타입을 지정해야 합니다. 예외가 던져지면 프로그램은 throw 문에서 일치하는 catch 블록으로 직접 점프하여 0으로 나누기가 발생하는 것을 방지하고, 프로그램이 충돌하는 대신 오류를 우아하게 처리할 수 있도록 합니다.
직접 해보기
#include <iostream>
using namespace std;
int main() {
// 입력 읽기
double numerator, denominator;
cin >> numerator >> denominator;
// TODO: 여기에 코드를 작성하세요
// main() 함수 위에 safeDivide 함수를 만드세요
// 예외 처리를 위해 try-catch 블록을 사용하세요
return 0;
}