Visualizzazione dei risultati da 1 a 2 su 2

Discussione: Eccezione con jdk 1.6

  1. #1

    Eccezione con jdk 1.6

    Utilizzando la jdk 1.4 non avevo nessun problema ad eseguire il mio programma.
    Da quando ho installato la jdk 1.6, senza aver apportato modifiche a tale programma, al momento della compilazione, mi compare la seguente eccezione:

    codice:
    Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
       at org.apache.poi.hssf.dev.FormulaViewer.main (FormulaViewer.java:228)
    sapreste dirmi da cosa è dovuta e come eliminarla?

    grazie

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Eccezione con jdk 1.6

    Originariamente inviato da mauroxxx83
    sapreste dirmi da cosa è dovuta e come eliminarla?
    Dal messaggio della eccezione l'unica cosa certa che si capisce è che durante l'accesso ad un array l'indice era fuori dal range consentito.

    Ma c'è di più. L'indice che è fuori dal range è 0 (è il numero indicato dopo ArrayIndexOutOfBoundsException: ). Se l'indice 0 è fuori dal range allora vuol dire ..... che l'array era sicuramente vuoto, senza alcun elemento (length è 0 per dirla in altro modo)!!

    Ho scaricato, per curiosità, i sorgenti della libreria, nel file FormulaViewer.java alla riga 228 in effetti c'è l'accesso all'array args del main:

    codice:
        public static void main(String args[])
        {
            if ((args == null) || (args.length >2 )
                    || args[ 0 ].equals("--help"))
            {
                System.out.println(
                    "FormulaViewer .8 proof that the devil lies in the details (or just in BIFF8 files in general)");
                System.out.println("usage: Give me a big fat file name");
            } else if (args[0].equals("--listFunctions")) { // undocumented attribute to research functions!~
                try {
    ......
    A parte il fatto che mi sembra un pessimo modo (sbagliato oltretutto) di controllare gli argomenti .... difatti se a quel main non si passa alcun argomento, il risultato è appunto la eccezione ArrayIndexOutOfBoundsException.

    Il perché a quel main non sono stati passati argomenti .... però non lo posso sapere.


    EDIT: a rigor di logica, se non ci sono argomenti la eccezione dovrebbe saltare fuori al primo if, non su quello che ho indicato io in rosso (riga 228). Quindi probabilmente non hai la stessa versione che ho scaricato io per fare questa verifica.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.