codigo URL

Jennifer
29 de Marzo del 2005
Hola tengo ciertas preguntas acerca de este codigo.
Mis inquietudes las he puesto como comentario para que se puedan dar cuenta.

import java.io.*;
import java.net.*;
class WebDownload{
public static void main(String[] arg){
URL url;
URLConnection uc;/
InputStream is;
try{
url= new URL(arg[0]);// Que excepción puede ser lanzada en esta línea?

uc=url.openConnection();//. Que excepción puede ser lanzada en esta línea?

is=uc.getInputStream();// Que excepción puede ser lanzada en esta línea?
int i=is.read();// Que excepción puede ser lanzada en esta línea?
while(i>0){// Cuando acaba el ciclo?
System.out.print((char)i);//. Que pasa si no se hace cast
i=is.read();
}

}catch(MalformedURLException e){
System.err.println("URL mal escrito : "+e);// En que caso se llega a esta línea?
MalformedURLException: Probablemente la URL no esta bien especificada, por lo q no se puede encontrar ningún protocolo legal.
}catch(IOException e){
System.err.println("Error de entrada/salida: "+e);//14. En que caso se llega a esta línea?
}
}
}
Saludos ...

David
29 de Marzo del 2005
Hola

No sé si te refieres a excepciones chequeadas (aquellas que no descienden de RuntimeException) o no chequeadas, así que procuraré pillarlas todas.

import java.io.*;
import java.net.*;

class WebDownload {
public static void main(String[] arg) {
URL url;
URLConnection uc;
InputStream is;
try {
url= new URL(arg[0]); // Que excepción puede ser lanzada en esta línea?
// MalformedURLException por el constructor de URL si se desconoce el protocolo
// ArrayIndexOutOfBoundsException si no se pasan argumentos

uc = url.openConnection(); // Que excepción puede ser lanzada en esta línea?
// IOException si ocurre un error de E/S

is = uc.getInputStream(); // Que excepción puede ser lanzada en esta línea?
// IOException si ocurre un error de E/S mientras se crea el InputStream
// UnknownServiceException si el protocolo no soporta entrada

int i = is.read(); // Que excepción puede ser lanzada en esta línea?
// IOException si ocurre un error de E/S

while (i > 0) { // Cuando acaba el ciclo?
// Cuando se encuentre el primer byte 0 en el InputStream
// La comparación debería hacerse con -1, que es lo que devuelve read()
// cuando se llega al final del stream
System.out.print((char)i); // Que pasa si no se hace cast?
// Que print imprime el valor numérico del byte leído, en lugar del carácter
i = is.read();
}
}
catch (MalformedURLException e) {
System.err.println("URL mal escrito : " + e);// En que caso se llega a esta línea?
// Tú mismo lo dices: desde el constructor de URL
// MalformedURLException: Probablemente la URL no esta bien especificada, por lo q no se puede encontrar ningún protocolo legal.
}
catch (IOException e) {
System.err.println("Error de entrada/salida: " + e); // En que caso se llega a esta línea?
// Desde openConnection, getInputStream o cualquiera de los dos read
}
}
}