Blok try-catch
Lekcja 17 z 23 w kursie Obsługa plików w C++ w Coddy.
Blok try tworzy się za pomocą słowa kluczowego try, po którym następują nawiasy klamrowe. Używamy bloku try, aby umieścić w nim instrukcje, które mogą spowodować wyjątek i uniemożliwić prawidłowe działanie programu.
Podczas otwierania pliku do odczytu lub zapisu może pójść nie tak kilka rzeczy, na przykład plik może nie istnieć, mogą wystąpić problemy z uprawnieniami lub może zabraknąć miejsca na dysku. Umieszczając operacje na pliku w bloku try, możesz przewidzieć te problemy i przygotować program do skutecznego radzenia sobie z nimi.
string error_message = "File can't be found"
ifstream file;
try {
file.open("example.txt");
if(!file.is_open())
throw s;
}W tym programie, jeśli plik nie istnieje, program spróbuje go otworzyć, ale mu się to nie uda. W takim przypadku zostanie rzucony komunikat File can't be found will be thrown
Blok catch służy do określenia, jak program powinien zareagować, gdy wyjątek zostanie rzucony w odpowiadającym mu bloku try. W kontekście obsługi plików ma to kluczowe znaczenie dla zapewnienia solidności i niezawodności aplikacji.
string error_message = "File not found"
ifstream file;
try {
file.open("example.txt");
if(!file.is_open())
throw error_message;
} catch(string msg) {
cerr << msg << endl;Output:
File not found Ten blok catch przechwytuje komunikat o błędzie i wyświetla go, umożliwiając programowi obsłużenie błędu.
W ten sposób można obsłużyć dowolny błąd
Wyzwanie
ŁatwySpróbuj otworzyć 3 pliki
code.txtmessages.txtpython.txt
Jeśli można otworzyć pliki w tej kolejności, rzuć komunikat „error message” File opened successfully, w przeciwnym razie rzuć komunikat o błędzie Unable to open file, który poniżej przechwycisz i wypiszesz.
Spróbuj swoich sił
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
// Wpisz tutaj swój kod
return 0;
}Wszystkie lekcje w sekcji Obsługa plików w C++
2Podstawy operacji wejścia/wyjścia na plikach
StrumienieOtwieranie plikówZamykanie plikówLaboratorium praktyczne nr 1Poćwicz samodzielnie: Kompilator C++ online