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

    eccezione per connessione mancante

    ciao, ho un problemino non riesco a trovare l'eccezione esatta che mi serve.
    Ho un frame in cui vi è un bottone che apre una connessione alla pagina internet di google.
    Java mi ha suggerito tre eccezioni (che sinceramente io riteno anche abbastanza inutili), ma non riesco a trovare quella che nel caso il mio bottone venga cliccato e non vi sia connessione internet, mi restituisca un messaggio. Ho provato anche con ConnectException, ma nulla da fare.
    Per maggiore chiarezza, qui sotto inserisco il codice del metodo, semplicisimo di per sè.
    codice:
    public void usaGoogle() {
             
            try {
                Desktop.getDesktop().browse(new URI("http://www.google.com"));
                }
               catch(IOException e){
                   System.out.println(e.getMessage());
               }
               catch(URISyntaxException e){
                   System.out.println(e.getMessage());
               }
                catch(NullPointerException e){
                   System.out.println(e.getMessage());
               }
               
            }
    Ultima modifica di MItaly; 21-02-2016 a 22:39 Motivo: Tag CODE, cambio di sezione, eliminazione duplicato

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da esperance Visualizza il messaggio
    Java mi ha suggerito tre eccezioni (che sinceramente io riteno anche abbastanza inutili), ma non riesco a trovare quella che nel caso il mio bottone venga cliccato e non vi sia connessione internet
    Il browse() di Desktop alla fin fine si limita a fare una cosa molto semplice: lanciare una applicazione esterna, che è un browser (quello predefinito) in questo caso. Che il browser non riesca a navigare per qualunque motivo (impostazioni sue sbagliate, cavo sconnesso, ecc..), è un problema suo e te lo notifica con una sua dialog, pagina di errore, ecc... Ma, attenzione, Java non "sa" niente!! Java ha lanciato una applicazione, stop. Solo se il lancio della applicazione (browser) fallisse, allora avresti una eccezione dal browse().
    Quindi non credo proprio che puoi avere una eccezione se non si riesce a navigare.

    Detto questo:
    - il costruttore di URI dichiara URISyntaxException se la stringa non è un uri che rispetta le specifiche. Se l'indirizzo lo metti tu "cablato" nel codice come hai fatto ed è ragionevolmente corretto sintatticamente (e quello che hai messo lo è), URISyntaxException "non dovrebbe" capitare. Ma tecnicamente lo devi considerare comunque, essendo checked.
    - Il browse di Desktop dichiara IOException e anche questo lo devi considerare, idem checked.

    NullPointerException è abbastanza inutile. Nel tuo codice non c'è nulla che causa volontariamente o meno un NPE. getDesktop() non restituisce mai null, al massimo lancia UnsupportedOperationException se la API di Desktop non fosse supportata dal sistema.
    Ultima modifica di andbin; 22-02-2016 a 00:05
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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.