Visualizzazione dei risultati da 1 a 7 su 7

Discussione: eccezioni ..

  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    1,085

    eccezioni ..

    Ciao ..
    chi mi indica cosa devo modificare nel chiamare il metodo in modo corretto per la gestione dell'eccezione .. ?
    Grazie

    codice:
    class CiaoMondo                                                                  
    {                                                                                
      void Stampa (String a)       
        throws ErroreStringaVuota     
      {                                   
        if (a==null)                      
          throw new ErroreStringaVuota(); 
        else                              
          System.out.println("Stringa: " + a);          
      }                                   
                                                                                     
      public static void main(String[] args)                                         
      { CiaoMondo e = new CiaoMondo();                                               
         String a = "pippo";  
         e.Stampa(a);                                                                 
      }                                                                              
    }

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: eccezioni ..

    Originariamente inviato da JANUS70
    chi mi indica cosa devo modificare nel chiamare il metodo in modo corretto per la gestione dell'eccezione .. ?
    Visto che Stampa può lanciare ErroreStringaVuota (tra l'altro senza vedere cosa estende, non si potrebbe dire se è una eccezione "checked" o "unchecked", se è checked il sorgente così come è NON compila), dovresti usare un try/catch nel main per gestire la eccezione. Nel blocco try invochi il metodo, nel catch stampi qualcosa ... un messaggio.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    1,085
    Questo è il contenuto della classe 'ErroreStringaVuota'

    codice:
    public class ErroreStringaVuota extends Exception 
    {                                                                     
       ErroreStringaVuota()                                                
       {super("Attenzione, stai riferendo una stringa non inizializzata"); }                       
    }
    da quello che ho capito io dal manuale, con questo tipo di eccezione non serve agire con 'try' e 'catch'

    se compilo :

    codice:
    class CiaoMondo                                                                  
    {                                                                                
      void Stampa (String a)       
        throws ErroreStringaVuota     
      {                                   
        if (a==null)                      
          throw new ErroreStringaVuota(); 
        else                              
          System.out.println("Stringa: " + a);          
      }                                   
                                                                                     
      public static void main(String[] args)                                         
      { CiaoMondo e = new CiaoMondo();                                               
         String a = "pippo";  
         e.Stampa(a);                                                                 
      }                                                                              
    }
    mi viene indicato:


    'unreported exception ErroreStringaVuota; must be caught or declared to be thrown'


    sulla lina 15 --> e.Stampa(a);

  4. #4
    Se non vuoi essere costretto a catturare l'eccezione la classe ErroreStringaVuota deve estendere RuntimeException che sono le uniche ecceziuone che non è necessario catturare. Se invece estendi la classe Exception devi necessariamente catturare l'eccezione tramite il costrutto try catch il che è proprio ciò di cui ti avverte il compilatore.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    1,085
    Grazie mille ..
    con 'RuntimeException' mi funziona alla perfezione !
    scusa per il ritardo ma sono stato fuori.

    ah .. per fare una provetta ..
    come devo fare per assegnare il valore NULL ad una stringa ?
    mi verrebbe da fare:


    codice:
    String a = NULL;

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    1,123
    Originariamente inviato da JANUS70
    ah .. per fare una provetta ..
    come devo fare per assegnare il valore NULL ad una stringa ?
    mi verrebbe da fare:


    codice:
    String a = NULL;
    null, in minuscolo

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    1,085
    Originariamente inviato da Patrick Jane
    null, in minuscolo

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 © 2025 vBulletin Solutions, Inc. All rights reserved.