Maison > Article > développement back-end > Comment intercepter des types spécifiques d’exceptions dans la gestion des exceptions des fonctions C++ ?
Comment intercepter des types spécifiques d'exceptions en C++ : utilisez des blocs try-catch. Spécifiez le type d'exception à intercepter dans la clause catch, telle que catch (const std::runtime_error& e). Dans un cas pratique, la fonction read_file() gère le cas où le fichier n'existe pas en lançant std::runtime_error, et utilise un bloc try-catch pour intercepter cette exception et imprimer le message d'erreur.
Interceptez des types spécifiques d'exceptions dans la gestion des exceptions des fonctions C++
En C++, lorsque vous utilisez le bloc try-catch
pour gérer les exceptions lancées dans une fonction, vous pouvez utiliser catch La clause
intercepte des types spécifiques d'exceptions. Par exemple, pour intercepter les exceptions de type std::runtime_error
, vous pouvez utiliser la syntaxe suivante : try-catch
块处理函数中抛出的异常时,可以使用 catch
子句捕获特定类型的异常。例如,要捕获 std::runtime_error
类型的异常,可以使用以下语法:
try { // 函数代码 } catch (const std::runtime_error& e) { // 处理 std::runtime_error 异常 }
实战案例:
假设有一个 read_file()
函数,它负责从文件中读取数据。如果文件不存在,函数会抛出一个 std::runtime_error
异常。我们可以使用 try-catch
#include <iostream> #include <fstream> void read_file(const std::string& filename) { std::ifstream file(filename); if (!file.is_open()) { throw std::runtime_error("File not found"); } // 读取文件内容 } int main() { try { read_file("myfile.txt"); } catch (const std::runtime_error& e) { std::cerr << "Error: " << e.what() << std::endl; } return 0; }
Cas pratique :
🎜🎜Supposons qu'il existe unread_file()
fonction, qui est responsable de la lecture des données des fichiers. Si le fichier n'existe pas, la fonction lève une exception std::runtime_error
. Nous pouvons utiliser un bloc try-catch
pour gérer cette exception : 🎜Error: File not found🎜Exécutez ce programme et si le fichier "myfile.txt" n'existe pas, le message d'erreur suivant sera imprimé : 🎜rrreee
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!