Les méthodes C++ de gestion de plusieurs exceptions incluent l'utilisation de blocs try-catch, qui permettent d'intercepter et de gérer les exceptions pour des types d'exceptions spécifiques, ou l'utilisation de blocs try et d'un bloc catch (...) pour intercepter tous les types d'exceptions. Dans le cas réel, le bloc try tente l'opération de division, capture les types d'exception invalid_argument et exception via deux blocs catch et génère les informations d'erreur correspondantes.
C++ fournit une variété de méthodes pour gérer plusieurs exceptions, notamment :
try-catch block
try { // 代码可能引发异常 } catch (const std::exception& e) { // 处理 std::exception 异常 } catch (const std::runtime_error& e) { // 处理 std::runtime_error 异常 }
catch(...)
try { // 代码可能引发异常 } catch (...) { // 处理所有异常 }
typeid
try { // 代码可能引发异常 } catch (const std::exception& e) { if (typeid(e) == typeid(std::runtime_error)) { // 处理 std::runtime_error 异常 } }
L'exemple suivant montre l'utilisation de blocs try-catch pour gérer plusieurs exceptions :
#include <iostream> #include <exception> using namespace std; int main() { try { int x = 10; int y = 0; cout << "x / y = " << x / y << endl; } catch (const invalid_argument& e) { cout << "Division by zero error: " << e.what() << endl; } catch (const exception& e) { cout << "Error: " << e.what() << endl; } return 0; }
Dans cet exemple :
try
peuvent générer des exceptions code. Le bloc try
块尝试执行可能引发异常的代码。catch (const invalid_argument& e)
块处理 invalid_argument
异常。catch (const exception& e)
catch (const invalid_argument& e)
gère les exceptions invalid_argument
. Le bloc catch (const exception& e)
gère toutes les autres exceptions.
Division by zero error: invalid argument
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!