Newsgroup: it.comp.java
Titolo: URL pippo = new URL - AIUTO! NON FUNGE!

Quando tento di compilare questa semplicissima  applicazione ho questo
errore.. che cosa sbaglio?
------------------------------------------------------------------
import java.io.*;
import java.lang.*;
import java.applet.*;    
import java.awt.*;
import java.net.*;
public class url extends java.applet.Applet
{
	URL pippo = new URL("
http://www.pippo.it/
");
}
------------------------------------------------------------------
Errore:
------------------------------------------------------------------
url.java:11: unreported exception java.net.MalformedURLException; must be
caugh or declared to be thrown
        URL pippo = new URL("
http://www.pippo.it/
");
                    ^
1 error
------------------------------------------------------------------
Qualcuno mi sa aiutare? Grazie in anticipo.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 ------------------------------------------------------------------
[cut]
In Java costruttori e metodi possono generare delle eccezioni. Nel caso
della classe URL, viene generata l'eccezione MalformedURLException se l'url
indicata e' malformata (es. htp://www ...).
Nel tuo caso hai codificato nel sorgente l'url del sito (ed e' corretto) ma
devi comunque gestire l'eccezione:
try {
    URL pippo = new URL("
http://www.pippo.it/
");
} catch (MalformedURLException e) {
    System.out.println ("Eccezione: " + e);
}

vuol dire che  new URL("
http://www.pippo.it/
"); ti può tirare un'eccezione
(MalformedURLException)
mettilo a null e chiama il costruttore in una funzione mettendolo in un try
catch.
Davide

 [cut]




 Davide


 ha scritto nel messaggio
news:bi284t$6mj$1...@news.newsland.it...


 come lo metto a null?
URL pippo = null;
try {
  pippo = new URL("abcd://chissasequestaurl&%$£funziona???");
} catch (MalformedURLException e) {
  System.out.println("Aiuto: programmatore sbroccato.");
  // varie ed eventuali...
}
Ciao,
 Stefano
----------
"X WindowSSS, teSSSoro mio... lo odieremo per SSSempre"
Bill Gollum
----------

 gestione delle eccezioni.
Hai ragione ma il manuale che ho e il libro che ho non parlano di questo
tipo di errore e "lui" (il manuale) l'errore non si sogna di gestirlo
manco una volta...
Mi sai consigliare una buona guida/manuale?
Grazie ancora, Ciao,
Michele


Stefano Reksten ha scritto:
Grazie Stefano.. non mi e' chiaro perche' URL lo devo inizializzare a
NULL, funge anche se non lo faccio?
		try 
		{
			URL test = new URL("
http://www.test.com/
");
		} 
		catch (MalformedURLException e) 
		{
			g.drawString("Eccezione: " + e, 5, 455);	
		}
L'ho testato.. sembra funzionare.. quindi gestisco l'eccezione e quando
eseguo il programmillo non entra nella catch..
Grazie a tutti e scusate ancora le domande da newbie


 eseguo il programmillo non entra nella catch..
In questo modo costruisci una URL, appena esci dal blocco try/catch però
questa viene distrutta (il flusso del programma esce dallo scope della
variabile, insomma ci siamo capiti). Invece facendo
URL u;
try {
 u = ...
}...
la variabile continua ad esistere. Però se poi utilizzi la variabile senza
averla inizializzata il compilatore ti dice "attento: non hai inizializzato
la variabile." e non te la da buona. Ma come, dirai tu, ma io la
inizializzo nel blocco try/catch... già, che però *potrebbe* fallire, e il
compilatore queste cose le sa.
Quindi ecco perchè si fa
URL u = null; (così u esiste ed è inizializzata)
try {
  u = new URL(...)
}
eccetera. Oki?


  Stefano
Ciao,
Michele
