¿Cuándo ofstream :: abrir falla?

Estoy probando sentencias try, catch, throw en C ++ para el manejo de archivos, y he escrito un código ficticio para detectar todos los errores. Mi pregunta es para verificar si acerté, necesito un error. Ahora puedo consultar fácilmenteinfile.fail() simplemente no creando un archivo con el nombre requerido en el directorio. Pero, ¿cómo podré verificar lo mismo paraoutfile.fail() (outfile esofstream donde comoinfile esifstream). En cuyo caso, será el valor deoutfile.fail() ¿ser cierto

código de muestra [de los comentarios sobre la respuesta de una persona, simplificado para aclarar el problema -zack]:

#include <fstream>
using std::ofstream;

int main() 
{
    ofstream outfile;
    outfile.open("test.txt");
    if (outfile.fail()) 
        // do something...... 
    else 
        // do something else..... 
    return 0; 
}

Respuestas a la pregunta(3)

Su respuesta a la pregunta