PDA

Visualizza la versione completa : [C++] Gestione degli errori: Throw e Try-catch


Neptune
16-11-2010, 17:04
Salve a tutti,
sono qui con un'altrodubbio riguardante ai costruitti sulle gestioni delle eccezioni.

Il primo che ci stato fatto vedere sull'uso del comando "throw" ed qualcosa del seguente tipo:



if(<condizione>)
{
<istruzioni>
}
else throw eccezione();


Gi qui non ho capito bene come funziona, ovvero chiama una funzion a mio piacimento in caso la condizione dell'if falsa? e che differenza c' tra il "chiamarla normalmente" ed usare il comando throw ?

Un'altro esempio che c' stato fatto vedere al volo con try e catch in questo modo:



try{
<istruzioni>
}
catch( domain_error){
<istruzioni>
}


In quest'altro caso cosa fa? Prova a svolgere delle istruzioni e se ritorna qualche errore fa ci che c' scritto nel catch? E quel "domain_error" che sarebbe?

Oppure "throw" segnala un eccezione e la catch riceve quel tipo di eccezione e si regola di conseguenza? Potreste fari qualche esempio di codice funzionante per capire meglio?

Vi ringrazio in anticipo,
Neptune.

MItaly
16-11-2010, 19:02
Da quanto vedo hai le idee sufficientemente confuse da rendere molto difficile la discussione; prima di tutto devi avere un'idea di cosa siano le eccezioni e come si usano, se no non andiamo da nessuna parte. Leggiti il relativo capitolo del tuo manuale di C++ e poi ne riparliamo.

Qualche link aggiuntivo:
http://www.cplusplus.com/doc/tutorial/exceptions/
http://www.parashift.com/c++-faq-lite/exceptions.html
http://en.wikipedia.org/wiki/Exception_handling
http://forum.html.it/forum/showthread.php?s=&threadid=1425902

Loading