Visualizzazione dei risultati da 1 a 2 su 2

Discussione: [VBA] on error

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    141

    [VBA] on error

    Il mio codice ha un aspetto del genere

    Public Sub IstruzioneGenerale()
    on error goto GestioneErrore
    Call Routine1
    GestioneErrore:
    Exit Sub
    EndSub

    Public Sub Routine1()
    on error GestioneErrore1
    dim a as integer
    a=(-1)^0.5
    GestioneErrore1:
    Exit Sub
    EndSub

    non posso togliere "GestioneErrore1" in quanto devo fare al suo interno altre cose, vorrei però alla fine andare automaticamente ad "GestioneErrore"...come faccio?!?
    Ossia mi serve terminare l'esecuzione dell'intero codice con "GestioneErrore1" (dato che ho un input errato) ma non usare "End" in quanto mi genera errori che annullano tutte le variabili salvate....voglio una scappatoia per terminare e basta come se andassi in "GestioneErrore" della routine principale...mi spiegate se è possibile e come si fa? Grazie 1000
    La vita è come la scaletta di un pollaio: in salita, corta e piena di m***a!!

  2. #2

    Re: [VBA] on error

    Originariamente inviato da zxc80
    Il mio codice ha un aspetto del genere

    Public Sub IstruzioneGenerale()
    on error goto GestioneErrore
    Call Routine1
    GestioneErrore:
    Exit Sub
    EndSub

    Public Sub Routine1()
    on error GestioneErrore1
    dim a as integer
    a=(-1)^0.5
    GestioneErrore1:
    Exit Sub
    EndSub

    non posso togliere "GestioneErrore1" in quanto devo fare al suo interno altre cose, vorrei però alla fine andare automaticamente ad "GestioneErrore"...come faccio?!?
    Ossia mi serve terminare l'esecuzione dell'intero codice con "GestioneErrore1" (dato che ho un input errato) ma non usare "End" in quanto mi genera errori che annullano tutte le variabili salvate....voglio una scappatoia per terminare e basta come se andassi in "GestioneErrore" della routine principale...mi spiegate se è possibile e come si fa? Grazie 1000
    Potresti trasformare la Sub Routine1 in una Function booleana, che restituisce True se si verifica un errore:
    - in GestioneErrore1 imposti Routine1 = True (non c'e' nemmeno bisogno di impostare False quando l'elaboraz. avviene senza errori, in quanto e' il valore di default)
    - anziche' Call Routine 1, la chiami con:
    If Routine1 Then '....si e' verificato un errore




    P.S.: parto dal presupposto che il tuo codice e' stato volutamente molto semplificato a scopo esemplificativo, perche' cosi' com'e' dopo la chiamata alla Routine1 avresti SEMPRE l'esecuzione del codice in GestioneErrore...
    IceCube_HT (VB6 fan Club)

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.