Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [C++] Gestione degli errori: Throw e Try-catch

    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:

    codice:
    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:

    codice:
    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.
    "Estremamente originale e fantasioso" By darkiko;
    "allora sfiga crepuscolare mi sa che e' meglio di atmosfera serale" By NyXo;
    "per favore, già è difficile con lui" By fcaldera;
    "se lo apri te e invece di "amore" ci metti "lavoro", l'effetto è lo stesso" By fred84

  2. #2

    Re: [C++] Gestione degli errori: Throw e Try-catch

    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/showthrea...readid=1425902
    Amaro C++, il gusto pieno dell'undefined behavior.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.