2011-09-11 13 views
10

Come posso lanciare manualmente un IndexOutOfBoundsException in Java e facoltativamente stampare un messaggio?Lanciare manualmente un'eccezione

+4

Che cosa hai provato? Cosa non ha funzionato? Con cosa stai avendo esattamente delle difficoltà? – Oded

+0

[Come generare eccezioni (tutorial Java)] (http://download.oracle.com/javase/tutorial/essential/exceptions/throwing.html) – MByD

risposta

25

Semplicemente:

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

Se avete bisogno di stampare questo messaggio, farlo da dove si cattura l'eccezione. (Si può raggiungere il messaggio con il metodo getMessage().)

11

Ti piace questa:

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

Questo in realtà non stampare il messaggio; lo prepara solo Per stampare il messaggio, fare qualcosa di simile al seguente:

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

In futuro, io suggerirei guardando intorno per una risposta prima di pubblicare.

+0

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

+0

@Kublai Khan Ho provato a postarlo su una domanda simile ed è appena stato downvoted. – fireshadow52

+1

Sì, lo so - ero uno dei downvoters (umorismo/ramo d'ulivo) –

2

È possibile utilizzare l'istruzione throw per generare un'eccezione. L'istruzione throw richiede un singolo argomento: un oggetto gettato. Gli oggetti lanciabili sono istanze di qualsiasi sottoclasse della classe Throwable. Ecco un esempio di dichiarazione del tiro.

throw someThrowableObject; 

Esempio:

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