manejo lenguaje lectura escritura ejercicios crear binarios archivos c++ exception-handling inputstream file-handling

lenguaje - manejo de archivos en c++ fstream



¿Manejo de excepciones y apertura de un archivo? (3)

¿Es posible usar excepciones con la apertura de archivos como alternativa al uso de .is_open() ?

Por ejemplo:

ifstream input; try{ input.open("somefile.txt"); }catch(someException){ //Catch exception here }

Si es así, ¿de qué tipo es someException ?


Creo que while (!file.eof()) declaración while (!file.eof()) no debería estar en el ámbito de try .



en.cppreference.com/w/cpp/io/basic_ios/exceptions

Lea también esta respuesta 11085151 que hace referencia a este article

// ios::exceptions #include <iostream> #include <fstream> using namespace std; void do_something_with(char ch) {} // Process the character int main () { ifstream file; file.exceptions ( ifstream::badbit ); // No need to check failbit try { file.open ("test.txt"); char ch; while (file.get(ch)) do_something_with(ch); // for line-oriented input use file.getline(s) } catch (const ifstream::failure& e) { cout << "Exception opening/reading file"; } file.close(); return 0; }

Código de ejemplo que se ejecuta en Wandbox

EDITAR: captura excepciones por const referencia 2145147

EDITAR: eliminó el failbit del conjunto de excepciones. URLs agregadas para mejores respuestas.