Originariamente inviato da Virtuoid
hihi ! Scusa, prime armi

Sei gentilissimo e ti ringrazio tantissimo! Vorrei sfruttare la tua pazienza ancora un po' solo per dirti che dopo aver fatto quegli import l'unico errore che mi da e':
typing.java:8: unreported exception java.io.IOException; must be caught or declared to be thrown
BufferedImage image = ImageIO.read(new File("ocr.gif"));
^
1 error
Cosa puo' essere?
Il metodo read di ImageIO potrebbe non funzionare correttamente (detto a grandi linee). Se durante la lettura ed il caricamento dell'immagine si verifica un errore (file non esistente, file corrotto, permessi non sufficienti o chissà cos'altro) il metodo te lo fa presente lanciando un eccezione (in questo caso è una IOException dove IO sta per Input/Output). Hai due possibilità: o catturi e gestisci l'eccezione o la inoltri sullo stack (tradotto: passi la patata bollente a qualcun'altro).
Esempio di cattura di un'eccezione:
codice:
public void f() {
BufferedImage image = null;
try {
image = ImageIO.read(new File("ocr.gif"));
} catch (IOException ex) {
System.err.println("Errore durante la lettura dell'immagine! " + ex.getMessage());
ex.printStackTrace();
}
}
Esempio di "passaggio della patata bollente":
codice:
public void f() throws IOException {
BufferedImage image = null;
image = ImageIO.read(new File("ocr.gif"));
}
public void g() {
try {
f();
}catch (IOException ex) {
System.err.println("Il metodo che legge l'immagine mi ha passato la patata bollente, 'sticazzi!");
}
}
In pratica catturando un'eccezione puoi cercare di rimediare all'errore che l'ha causata. Ad esempio, se vuoi aprire un file che non esiste otterai una FileNotFoundException: catturi l'eccezione, ti accorgi che manca il file, lo crei e poi tenti di nuovo...