Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,780

    Prevenire errore "Subscript out of range"

    Ciao a tutti.

    Sono nuovo di asp anche se ho delle basi sui linguaggi di programmazione in generale.

    Volevo sapere se esiste un modo specifico per prevenire l'errore "Subscript out of range" che si verifica quando si tenta di passare il valore di un elemento non esistente di un determinato array.

    Spiego meglio con un esempio.

    Codice PHP:
    // popolo la variabile
    pippo "nome,cognome"
    // splitto la variabile e recupero l'elemento con indice 2 (che qui risulta non definito)
    pluto split(pippo"," 31)(2
    "pluto" ovviamente non può essere valorizzato perchè lo split restituisce un array di lunghezza 2.
    Infatti nell'output viene mostrato l'errore suddetto.

    Io vorrei che pluto venisse popolato in qualunque caso anche quando il valore passato è non definito, magari passando una stringa vuota.

    In actionScript avrei potuto risolvere con una condizione del tipo:
    codice:
    (pluto==undefined) && (pluto=" ")
    Infatti in questo caso pluto assume il valore undefined, che di per se è una costante, e non avviene un errore esplicito come in ASP.

    Ho provato ad utilizzare "on error" ma con insuccesso.

    Qualche suggerimento?

    Grazie in anticipo.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  2. #2
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,780
    Trovato..

    Un modo può essere quello di controllare preventivamente la lunghezza dell'array

    Codice PHP:
    // popolo la variabile
    pippo "nome,cognome"
    // creo un array splittando la variabile
    topolino split(pippo"," 31)
    // controllo la lunghezza dell'array
    if UBound(topolino)>1 then
        
    // se ha più di due elementi recupero l'elemento con indice 2 (ovvero il terzo)
        
    pluto topolino(2)
    else
        
    // altrimenti passo un valore vuoto
        
    pluto " "
    end if 
    E' un modo abbastanza semplice per prevenire l'errore "Subscript out of range" qualora si voglia comunque ottenere un valore alternativo.

    Se trovate qualcos'altro fate sapere.

    Bye
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

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.