2015-06-26 12 views
5

Sono nuovo nell'utilizzo di CLion e provo a scrivere un semplice programma per capire come funziona. Sono sul Windows 8 + cygwin il programma è:Eccezione di lancio ed è messaggi

int main() 
{ 
    throw std::exception(); 
} 

ho ottenuto nella console uscita:

C:\....\bin.exe 

Process finished with exit code 0 

Dove i messaggi circa il programma è stato interrotto o qualcos'altro? Non c'era niente e come dovrei rilevare se il mio programma è stato effettivamente interrotto generando un'eccezione?

+0

Quali sono le bandiere del compilatore? –

+0

"Processo terminato con codice di uscita 0" Non ha senso. – edmz

+0

@black Perché? Era esattamente l'uscita della console. – stella

risposta

1

Questo perché non si prova e si cattura e succede qualcosa come stack unwitted. In una funzione se non si ha catch va giù nello stack fino a raggiungere main e se non c'è catch è terminate.se la vostra funzione lancia un'eccezione senza che venga arrestata immediatamente e tornate alla funzione chiamante. Se la funzione chiamante è Main e non avete il catch Il programma terminate.it va in giù Lo stack e senza un fermo da qualche parte questa catena di funzioni finirà il programma.