Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    On Error goto DoveVoglioIo

    Ciao a tutti,

    avrei la necessità di capire se in Asp è possibile usare (come in Vb) l'evento on error per poter dirottare l'esecuzione della pagina in una specifica routine. Esempio:

    Oltre al classico "On error resume next" è possibile fare un
    "on error goto gestiscievento" dove gestiscievento è una porzione di codice ben specificata.

    Qualcuno sa se si può fare?

    La cosa l'ho usata + volte in Vb e ho visto che funziona, ma in asp non so.

  2. #2
    Utente di HTML.it L'avatar di wallrider
    Registrato dal
    Apr 2003
    Messaggi
    2,755
    ho paura che non si possa fare, nei vari tutorial non ne parla nessuno
    RIP Cicciobenzina 9/11/2010

    "Riseminaciceli, i ceci nell'orto"

  3. #3
    Utente di HTML.it L'avatar di Baol74
    Registrato dal
    Jul 2002
    Messaggi
    2,004
    Non puoi farlo, ma non è indispenabile, ci sono diversi modi per fare la stessa cosa.

  4. #4
    In IIS puoi impostare gli errori personalizzati
    in particolare l'errore 500 su una tua pagina ASP

    Certo non è la stessa cosa di "on error goto", ma in quella pagina puoi decidere il da farsi in base al tipo di errore, pagina di esecuzione ecc.

  5. #5
    Se non si può fare allora devo trovare un'altra soluzione.

    In Asp.net è possibile farlo ?

    Ho necessità altrimenti mi si blocca tutta l'applicazione.

  6. #6
    Baol74, quali altri modi conosci per poterlo fare?

    Grazie per l'aiuto.

  7. #7
    Utente di HTML.it L'avatar di Baol74
    Registrato dal
    Jul 2002
    Messaggi
    2,004
    Qual'è il codice, cosa devi fare?

  8. #8
    Allora,

    devo analizzare dei file generati da un programma, questo file ha dei file tipo database con campi separati un carattere speciale quale ad esempio il pipe "|".

    Siccome il programma è il fase di testing, alcune volte manca qualche campo o passa valori nulli.

    Analizzando questi file mi trovo a dover prendere parti di stringa con la funzione "mid", ovviamente passando un valore null questa mi si inchioda e restituisce un errore.
    Io vorrei evitare il costrutto "se il valore non è nullo allora mid(testo,1,lunghezzatesto)" ecc.

    Questo è solo un esempio, ma può addirittura capitare che io mi aspetto dei dati numerici per fare delle addizioni e invece (sempre perchè certe volte il programma che genera i file sballa) mi trovo a sommare stringhe testuali con valori numerici, sballando completamente il risultato.

    Io volevo solamente fa si che se c'era qualcosa che non andava e quindi rilevabile con l'evento on error, andava semplicemente ad eseguire una routine che a video restituisse un messaggio del tiupo "sistema in aggiornamento" e poi scrivesse in una sorta di LogFile l'errore o i dati analizzati che hanno generato quell'errore.

    Qual'è la strada migliore per evitare questo ?

    Ringraziandoti per l'attenzioe aspetto un tuo cosiglio

    p.s. dimenticavo, certe volte la pagina va in time out perchè non trovando i dati non esce mai da alcuni cicli while, creando la condizione di infinite loop

  9. #9
    Utente di HTML.it L'avatar di Baol74
    Registrato dal
    Jul 2002
    Messaggi
    2,004
    Sicuramente se mi fai vedere la parte di codice in questione, facciamo prima.

    In ogni caso, con delle funzioni puoi risolvere il problema.

    Ad esempio puoi riscrivere la Mid e adattarla alle tue esigenze.

    codice:
    Function MyMid(Value,PosInit,Length)
     If Len(Value)>0 then
      MyMid = Mid(Value,PosInit,Length)
     Else
      Response.Write "Sistema in aggiornamento"
     End if
    End Function
    Per verificare che un valore sia numerico, ti basta usare la funzione IsNumeric(Value)

  10. #10
    Grazie Baol74, nel frattempo mi veniva anche un'altra idea in mente.

    Potrei fare sempre un :
    "on error resume next", in modo tale da non bloccare il funzionamento mostrando la pagina 500 al client, e prima dell'output dei dati potrei controllare lo stato della variabiel d'errore "err" della quale non ho ancora visto per bene la sintassi.
    Cmq controllando questa variabile prima dell'output potrei vedere se non c'è errore mostro i dati altrimenti scrivo in un file di testo l'errore e mostro la scritta sistema in aggiornamento al client.

    Che ne pensi ?

    Oppure :
    utilizzando il tuo metodo, potrei dichiarare una variabile errore ad inizio pagina "Dim errore" e poi utilizzare la tua funzione leggermente modificata :
    codice:
    Function MyMid(Value,PosInit,Length)
     If Len(Value)>0 then
      MyMid = Mid(Value,PosInit,Length)
     Else
      errore = 1
     End if
    End Function

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.