예외 처리 및 템플릿 프로그래밍을 사용하여 일반적인 오류 처리를 구현합니다. 1. 예외 처리: try-catch-throw 메커니즘을 사용하여 함수에서 예외를 발생시킵니다. 2. 템플릿 프로그래밍: 모든 유형의 오류를 처리할 수 있는 일반 오류 처리기를 포함하여 모든 유형의 오류에 사용할 수 있는 일반 코드를 만듭니다. 3. 일반 오류 처리: 템플릿 기능을 사용하여 다양한 유형의 예외에 대한 사용자 정의 처리를 제공하고 알 수 없는 예외를 다시 발생시킵니다.
C++ 함수형 예외 및 템플릿 프로그래밍: 일반 오류 처리
소개
C++에서 예외는 함수의 오류를 처리하기 위한 강력한 메커니즘입니다. 함수가 오류를 감지하면 예외를 발생시켜 오류를 포착하고 처리할 수 있습니다. 템플릿 프로그래밍을 사용하면 모든 유형에 사용할 수 있는 일반 코드를 만들 수 있습니다. 이 문서에서는 일반적인 오류 처리를 위해 예외 및 템플릿 프로그래밍을 사용하는 방법을 살펴봅니다.
예외 처리
C++의 예외 처리는 try
、catch
和 throw
关键字实现。当函数检测到错误时,它可以使用 throw
关键字抛出一个异常。异常类型是一个派生自 std::exception
클래스를 사용합니다.
다음 예에서는 예외 처리를 보여줍니다.
void divide(int num1, int num2) { try { if (num2 == 0) { throw std::invalid_argument("Divisor cannot be 0"); } int result = num1 / num2; std::cout << result << std::endl; } catch (std::invalid_argument& e) { std::cout << e.what() << std::endl; } }
템플릿 프로그래밍
템플릿 프로그래밍을 사용하면 모든 유형에 사용할 수 있는 일반 코드를 만들 수 있습니다. 함수와 클래스는 템플릿을 사용하여 매개변수화할 수 있습니다.
다음 예는 템플릿 기능을 보여줍니다.
template<typename T> T max(T a, T b) { return (a > b) ? a : b; }
일반 오류 처리
예외 처리 및 템플릿 프로그래밍을 사용하여 모든 유형의 오류를 처리할 수 있는 일반 오류 처리기를 만들 수 있습니다.
다음 예는 일반 오류 처리 함수를 보여줍니다.
template<typename T> void handleError(T error) { if (std::is_same<T, std::invalid_argument>::value) { std::cout << "Invalid argument: " << error.what() << std::endl; } else if (std::is_same<T, std::out_of_range>::value) { std::cout << "Out of range: " << error.what() << std::endl; } else { throw error; } }
실용 사례
다음 예는 함수에서 일반 오류 처리를 사용하는 방법을 보여줍니다.
void processData(const std::vector<int>& data) { try { // ... 处理数据 ... if (// 检测到错误) { throw std::invalid_argument("Invalid data"); } } catch (std::exception& e) { handleError(e); } }
위 내용은 C++ 함수 예외 및 템플릿 프로그래밍: 일반 오류 처리의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!