Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [VB.NET] gestione errori routine

    Credo di essermi perso su una stupidaggine...
    Sto cercando di rendere il più modulare possibile il mio codice

    Ho un form per la registrazione di alcuni campi di testo e per l'upload di un file. Nel dataBase vengono registrati i campi ti testo e il nome del file. Utilizzo due routine

    Sub registraCampiTesto
    'leggo i dati e preparo la query per la registrazione dei dati
    'richiamo la routine per l'upload del file
    uploadFile()
    'se l'upload è andato a buon fine
    'apro la connessione e registro i dati
    end sub

    Sub uploadFile()
    'Qui eseguo dei controlli sul tipo di file
    'Se non è del tipo che dico io non dovrebbe registrare i dati
    end sub


    Il problema è che non riesco a bloccare l'esecuzione di "registrazioneCampiTesto" se il file di cui faccio l'upload non è conforme alle mie specifiche.
    Ho provato ad utilizzare exit sub della routine "uploadFile" ma credo che esca da quella e non dalla routine che la richiama.

    Mi sfugge sicuramente qualcosa...


    Marco

  2. #2
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    puoi fare in molti modi

    1) trasforma la sub upload in una funzione che restituisce un codice di errore, es. 0 se ok, -1 se errore. Poi interroghi da RegistraCampiTesto, if uploadFile = 0 then registro i dati

    2) nella sub upload sollevare una eccezione in caso di errore
    nella procedura registraCampiTesto, intercettare l'errore con Try...
    Pietro

  3. #3
    Hai ragione! La Sub non restituisce valori di ritorno, devo usare una function...Cmq adesso provo tutti e due i modi così faccio un po' di pratica! Grazie


    Marco

  4. #4
    codice:
    If file_upload()<>"" then
    lblUploadResult.text = file_upload()
    Else
    'codice per registrare tutti i dati
    End if
    Mi è venuto un altro dubbio...Ho trasformato la Sub in function.
    In caso di errore la funzione restituisce una stringa con la descrizione dell'errore. Nel codice che ho scritto io la funzione viene richiamata due volte però...Una per controllare che restituisca qualcosa e la seconda per scrivere il messaggio che restituisce.

    E' corretto come procedimento o ce n'è un altro di più efficace?
    Grazie


    Marco

  5. #5
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da [-MaRcO3-]
    codice:
    If file_upload()<>"" then
    lblUploadResult.text = file_upload()
    Else
    'codice per registrare tutti i dati
    End if
    Mi è venuto un altro dubbio...Ho trasformato la Sub in function.
    In caso di errore la funzione restituisce una stringa con la descrizione dell'errore. Nel codice che ho scritto io la funzione viene richiamata due volte però...Una per controllare che restituisca qualcosa e la seconda per scrivere il messaggio che restituisce.

    E' corretto come procedimento o ce n'è un altro di più efficace?
    Grazie


    Marco
    io la richiamerei una volta salvando il risultato in una variabile. Poi controllo la variabile... :gren:
    Pietro

  6. #6
    Originariamente inviato da pietro09
    io la richiamerei una volta salvando il risultato in una variabile. Poi controllo la variabile... :gren:
    Il ragionamento non fa una piega...mi cospargo il capo di cenere...
    Grazie!


    Marco

  7. #7
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da [-MaRcO3-]
    Il ragionamento non fa una piega...mi cospargo il capo di cenere...
    Grazie!


    Marco
    Non basta! Da Roma a Gerusalemme a piedi in pellegrinaggio. :gren:
    Pietro

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 © 2026 vBulletin Solutions, Inc. All rights reserved.