PDA

View Full Version : [JAVA] Esame


cagnaluia
29-06-2005, 08:04
Ciao ragassuoli..

Ho un bel esame di Java da affrontare.

Beh.. quel che mi interessa è la parte teorica..vediamo:

ci sono una dozzina di esercizi per i quali predire l'output.. e fin qui, bene.. con un pò di intuito si può fare anche se nn si conosce bene bene java.
Il problema è che oltre che a predire l'output.. ora, bisogna capire anche se c'è un errore.. in più occorre capire che tipo di errore si incontra: se un compile error o se un runtime error.


Ecco.. ad intuito io so che un compile error è un errore in compilazione.. bella cazzata direte voi.. e magari un runtime error è un errore che passa la compilazione ma crasha in run.

Come faccio a riconoscerli velocemente?
Come vedo che un errore sarà runtime e l'altro compiletime...
qualche esempio di rifermento?

feyd
29-06-2005, 15:53
Per i runtime:

>Come faccio a riconoscerli velocemente?

Non esiste la regola aurea. tipicamente in java i piu frequenti sono
dei Class Cast e dei null pointer.


>Come vedo che un errore sarà runtime e l'altro compiletime...

Gli errori di compile time sono tipicamente sintattici... è un esercizio per vedere se conosci il linguaggio.
Può essere di tutto... dai cicli scritti male ai ; mancanti passando per variabili non dichiarate ed import mancanti.
Ti consiglio di stare attento alla chiamata di metodi non dichiarati visto che di solito coinvolge piu files.

Se il programma è scritto bene probabilmente compila e dunque l'errore sarà a runtime: vedi il punto precedente...

>qualche esempio di rifermento?

ci potresti scrivere un libro!

feyd

Alvaro Vitali
29-06-2005, 20:40
io credo che fra gli errori "runtime" che ti possano riprodurre da scovare ci potrebebro essere:

ArrayIndexOutofBounds
che può capitare se viene acceduto un elemento di un array con un indice superiore alla lunghezza dell'array stesso.

NullPointer
se tenti di utilizzare una variabile in un punto del programma in cui ancora non le viene assegnato il riferimento ad un oggetto.

In bocca al lupo! ;)