2011-09-11 17 views
10

¿Cómo puedo lanzar manualmente un IndexOutOfBoundsException en Java y, opcionalmente, imprimir un mensaje?Lanzar manualmente una excepción

+4

¿Qué has intentado? ¿Qué no funcionó? ¿Con qué tienes dificultades exactamente? – Oded

+0

[Cómo lanzar excepciones (tutoriales de Java)] (http://download.oracle.com/javase/tutorial/essential/exceptions/throwing.html) – MByD

Respuesta

25

Simplemente:

throw new IndexOutOfBoundsException("your message goes here"); 

Si necesita imprimir este mensaje, hacerlo desde donde se capta la excepción. (Se puede llegar el mensaje con el método getMessage().)

11

De esta manera:

throw new IndexOutOfBoundsException("If you want a message, put it here"); 

Esta realidad no se imprime el mensaje; solo lo prepara. Para imprimir el mensaje, hacer algo como lo siguiente:

try { 
    //... 
    throw new IndexOutOfBoundsException("If you want a message, put it here"); 
} catch (IndexOutOfBoundsException e) { 
    System.out.println(e.getMessage()); 
} 

En el futuro, me gustaría sugerir a mirar alrededor para una respuesta antes de publicar.

+0

Lo que, no 'int [] arr = new int [10]; arr [10]; '? : P –

+0

@Kublai Khan Intenté publicar eso en una pregunta similar y acaba de ser downvoted. – fireshadow52

+1

Sí, lo sé, fui uno de los que menos votaron (humor/rama de olivo) –

2

Puede usar la instrucción throw para lanzar una excepción. La instrucción throw requiere un único argumento: un objeto arrojadizo. Los objetos arrojables son instancias de cualquier subclase de la clase Throwable. Aquí hay un ejemplo de una declaración de tiro.

throw someThrowableObject; 

Ejemplo:

public void example() { 
     try{ 
      throw new IndexOutOfBoundsException(); 
     } catch (IndexOutOfBoundsException e) { 
      e.printStackTrace(); 
     } 
    } 
Cuestiones relacionadas