C++에서는 try-catch 문을 통해 예외가 처리됩니다. try 블록의 코드에서 예외가 발생할 수 있습니다. catch 블록은 표준 예외 또는 사용자 지정 예외를 포착합니다. noException 키워드는 함수가 최적화를 위해 예외를 발생시키지 않을 것임을 선언합니다.
C++ 함수에서 예외를 처리하는 방법은 무엇입니까?
C++에서 예외는 세 가지 주요 부분을 포함하는 try-catch
문을 통해 처리됩니다. try-catch
语句处理,包括三个主要部分:
try { // 代码块,可能抛出异常 } catch (const std::exception& e) { // 捕获标准异常 } catch (const MyCustomException& e) { // 捕获自定义异常 }
实战案例:
假设我们有一个函数 divide
,它计算两个数的商,但当分母为 0 时抛出异常:
int divide(int num, int denom) { try { if (denom == 0) { throw std::runtime_error("除数不能为 0"); } return num / denom; } catch (const std::exception& e) { std::cout << "错误: " << e.what() << std::endl; } }
在主函数中,我们可以调用 divide
函数并捕获异常:
int main() { try { int dividend = 10; int divisor = 0; int result = divide(dividend, divisor); std::cout << dividend << " / " << divisor << " = " << result << std::endl; } catch (const std::runtime_error& e) { std::cout << e.what() << std::endl; } }
输出:
错误: 除数不能为 0
注意:
std::exception
。noexcept
rrreeedivide 함수가 있다고 가정합니다. code >에서는 두 숫자의 몫을 계산하지만 분모가 0일 때 예외가 발생합니다. 🎜rrreee🎜메인 함수에서 <code>divide
함수를 호출하고 예외를 잡을 수 있습니다: 🎜rrreee🎜 출력: 🎜 rrreee🎜🎜참고: 🎜🎜std::Exception
을 상속하여 함수에서 사용자 정의 예외를 발생할 수도 있습니다. 🎜noException
키워드를 사용하세요. 🎜🎜위 내용은 C++ 함수에서 예외를 처리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!