Menu
Coddy logo textTech

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

challenge icon

Wyzwanie

Łatwy

Spróbuj otworzyć 3 pliki

  • code.txt
  • messages.txt
  • python.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++

Poćwicz samodzielnie: Kompilator C++ online