Heim > Backend-Entwicklung > C++ > Hauptteil

Wie fängt man bestimmte Arten von Ausnahmen in der Ausnahmebehandlung von C++-Funktionen ab?

WBOY
Freigeben: 2024-04-15 22:09:02
Original
968 Leute haben es durchsucht

So fangen Sie bestimmte Arten von Ausnahmen in C++ ab: Verwenden Sie Try-Catch-Blöcke. Geben Sie den Typ der Ausnahme an, die in der Catch-Klausel abgefangen werden soll, z. B. Catch (const std::runtime_error& e). In einem praktischen Fall behandelt die Funktion read_file() den Fall, dass die Datei nicht existiert, indem sie std::runtime_error auslöst und einen Try-Catch-Block verwendet, um diese Ausnahme abzufangen und die Fehlermeldung auszugeben.

C++ 函数异常处理中如何捕获特定类型的异常?

Bestimmte Arten von Ausnahmen in der Ausnahmebehandlung von C++-Funktionen abfangen

Wenn Sie in C++ den Block try-catch verwenden, um in einer Funktion ausgelöste Ausnahmen zu behandeln, können Sie verwenden Catch Die -Klausel fängt bestimmte Arten von Ausnahmen ab. Um beispielsweise Ausnahmen vom Typ std::runtime_error abzufangen, können Sie die folgende Syntax verwenden: try-catch 块处理函数中抛出的异常时,可以使用 catch 子句捕获特定类型的异常。例如,要捕获 std::runtime_error 类型的异常,可以使用以下语法:

try {
  // 函数代码
} catch (const std::runtime_error& e) {
  // 处理 std::runtime_error 异常
}
Nach dem Login kopieren

实战案例:

假设有一个 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;
}
Nach dem Login kopieren

Praktischer Fall:

🎜🎜Angenommen, es gibt einen read_file()</code > Funktion, die für das Lesen von Daten aus Dateien verantwortlich ist. Wenn die Datei nicht vorhanden ist, löst die Funktion eine <code>std::runtime_error-Ausnahme aus. Wir können einen try-catch-Block verwenden, um diese Ausnahme zu behandeln: 🎜
Error: File not found
Nach dem Login kopieren
🎜Führen Sie dieses Programm aus und wenn die Datei „myfile.txt“ nicht existiert, wird die folgende Fehlermeldung ausgegeben: 🎜rrreee

Das obige ist der detaillierte Inhalt vonWie fängt man bestimmte Arten von Ausnahmen in der Ausnahmebehandlung von C++-Funktionen ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage