| En base a su ambiente, abra un Editor de Textos para generar el siguiente ejemplo. |
Código Fuente Nombres.java
public class Nombres {
public static void main(String[] args) {
System.out.println("Su nombre es: " + args[0]);
System.out.println("Sus apellidos son: " + args[1] + " " + args[2]);
}
}
|
Clase Nombres.
Se inicia este programa con la clásica definición de Clase.
Se define el método principal (
main), el uso de corchetes ([]) al lado de la Clase String indica un Arreglo de String's.Se imprimen dos mensajes a pantalla a través de la Clase System.out.println.
El primer mensaje imprime el primer valor del arreglo de entrada, a través de su referencia
args; nótese que este primer valor es indicado con el numero cero, esta es Sintaxis de arreglos la cual será descrita a fondo en otra sección.El segundo mensaje imprime el segundo y tercer valor del arreglo.
Ejecución de Clase Nombres.
Los valores de entrada para el método main son tomados directamente de la linea de ejecución del programa, por lo que una vez compilada la Clase (javac Nombres.java) la ejecución seria llevada acabo de la siguiente manera:
| $ java Nombres Ana Rodriguez King |
En este caso el primer valor del arreglo de String's seria el Nombre Ana, mientras el segundo y tercero serian Rodriguez y King respectivamente; inclusive si no proporciona ningún argumento será generado un error ("Exception"), a continuación se describe este mismo programa con un bloque try/catch para manejar el error de una manera apropiada :
Código Fuente NombresBlock.java
public class NombresBlock {
public static void main(String[] args) {
try {
System.out.println("Su nombre es: " + args[0]);
System.out.println("Sus apellidos son: " + args[1] + " " + args[2]);
} catch (ArrayIndexOutOfBoundsException ex) {
System.out.println("Esta tratando de accesar datos fuera del Arreglo");
} catch (Exception ex) {
System.out.println("Ocurrió un error genérico");
}
}
}
|
Clase NombresBlock.
La única diferencia entre esta Clase y aquella descrita anteriormente es el Bloque try/catch .
Al estar siendo ejecutadas las instrucciones de la sección try, si es generado un error, se inicia la inspección sobre las secciones catch hasta que el error ("Exception") coincida con una declaración.
En esta caso, si son omitidos algunos parámetros de entrada para el programa, dentro del bloque try se estaría tratando de accesar elementos no definidos en el arreglo, este tipo de error ("Exception") es precisamente
ArrayIndexOutOfBoundsException, por lo que serán ejecutadas las instrucciones definidas dentro de este bloque.Ahora bien, nótese que las instrucciones del bloque catch con la Clase
Exceptionnunca son ejecutadas, lo anterior se debe a que el programa termina al ser atrapado ("catch") en el bloque catch inicial; la única manera en que pudieran ser ejecutadas las instrucciones de este último bloque sería si el programa generara otro error ("Exception") distinto aArrayIndexOutOfBoundsException.
