Quando ofstream :: open falha?

Estou tentando experimentar, capturar, lançar instruções em C ++ para manipulação de arquivos e escrevi um código fictício para capturar todos os erros. Minha pergunta é para verificar se eu entendi direito, preciso que ocorra um erro. Agora posso verificar facilmenteinfile.fail() simplesmente não criando um arquivo com o nome necessário no diretório. Mas como poderei verificar o mesmo paraoutfile.fail() (outfile éofstream enquanto queinfile éifstream). Nesse caso, o valor paraoutfile.fail() seja verdadeiro

ódigo da amostra [dos comentários na resposta de unapersson, simplificado para tornar o problema mais claro -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; 
}