blocco try-catch
Lezione 17 di 23 del corso Gestione dei file in C++ di Coddy.
Un blocco try viene creato usando la parola chiave try seguita da parentesi graffe. Usiamo il blocco try per racchiudere le istruzioni che potrebbero causare un'eccezione e impedire al programma di funzionare correttamente.
Quando apri un file per leggerlo o scriverci, diverse cose possono andare storte, ad esempio il file potrebbe non esistere, potrebbero esserci problemi di autorizzazioni o lo spazio su disco potrebbe esaurirsi. Inserendo le operazioni sui file all'interno di un blocco try, puoi prevedere questi problemi e preparare il tuo programma a gestirli efficacemente.
string error_message = "File can't be found"
ifstream file;
try {
file.open("example.txt");
if(!file.is_open())
throw s;
}In questo programma, se il file non esiste, il programma proverà ad aprirlo, ma non ci riuscirà; in tal caso, verrà lanciato il messaggio File can't be found will be thrown
Il blocco catch viene usato per definire come il tuo programma dovrebbe rispondere quando viene lanciata un'eccezione all'interno del corrispondente blocco try. Nel contesto della gestione dei file, questo è fondamentale per mantenere la robustezza e l'affidabilità della tua applicazione.
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 Questo blocco catch intercetta il messaggio di errore e lo visualizza, consentendo al programma di gestire l'errore.
In questo modo, è possibile gestire qualsiasi errore
Sfida
FacileProva ad aprire 3 file
code.txtmessages.txtpython.txt
Se è possibile aprire i file in quest'ordine, lancia il “messaggio di errore” File opened successfully; altrimenti, lancia il messaggio di errore Unable to open file, che poi catturerai e stamperai.
Provalo tu
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
// Inserisci qui il tuo codice
return 0;
}Tutte le lezioni di Gestione dei file in C++
Esercitati da solo: Compilatore C++ online