Predmet Err [VBA]

Uporabite predmet VBA Err za javljanje oz. ravnanje z napakami pri izvajanju.

Err je vgrajeni globalni predmet VBA, ki omogo─Źa:

warning

To konstanto, funkcijo ali predmet omogo─Źimo z ukazom Option VBASupport 1, ki ga moramo vstaviti pred izvedljivo programsko kodo v modulu.


Predmet VBA Err ima naslednje lastnosti in metode:

Lastnosti


         Err.Description As String
      

Lastnost Description podaja naravo napake. Podrobno ori┼íe razli─Źne razloge, ki bi lahko povzro─Źili napako. Idealno ponuja ve─Ź mo┼żnih ukrepov, ki lahko pomagajo razre┼íiti te┼żavo in prepre─Źiti njeno ponovno pojavljanje. Njen ekvivalent v Basicu je funkcija Error za vnaprej dolo─Źene napake LibreOffice.


         Err.Number As Long
      

To je koda napake, povezana z napako. Privzeta lastnost predmeta Err je Number. Njen ekvivalent v LibreOffice Basic je funkcija Err.


         Err.Source As String
      

Source nakazuje ime rutine, ki povzro─Źa napako. Source je mo┼żnost za uporabni┼íko dolo─Źene napake.

Metode


         Err.Clear()
      

Ponastavi lastnosti opis, Erl, številka in vir za trenutno napako. Njen ekvivalent v LibreOffice Basic je ukaz Resume.


         Err.Raise(Number As Long, Optional source As String, Optional description As String)
      

Javi uporabni┼íko dolo─Źene napake ali vnaprej dolo─Źene napake. Njen ekvivalent je ukaz LibreOffice Basic Error.

Parametri

┼átevilo je uporabni┼íko dolo─Źena ali vnaprej dolo─Źena koda napake, ki bo javljena.

note

Obseg kod napake 0-2000 je rezerviran za LibreOffice Basic. Uporabni┼íko dolo─Źene napake se lahko za─Źnejo z vi┼íjimi vrednostmi, da se prepre─Źijo spori z bodo─Źim razvojem LibreOffice Basic.


Vir je ime rutine, ki javlja napako. Priporo─Źeno je ime v obliki ┬╗mojaKnji┼żnica.mojModul.mojaProc┬ź.

Opis: opis problema, ki pripelje do ustavitve teko─Źega procesa, ki ga spremljajo razli─Źni razlogi, ki bi lahko to povzro─Źili. Priporo─Źen je podroben seznam mo┼żnih dejanj, ki lahko pomagajo odpraviti te┼żavo.

Primer:


         Option VBASupport 1
          
         Sub ThrowErrors
             Dim aDesc As String : aDesc = Space(80)
             On Local Error GoTo AlertAndExecNext
             Err.Raise(91, "ThrowErrors", Error(91))
             Err.Raise 2020, Description:="To je na─Źrtovana, uporabni┼íko dolo─Źena napaka ..."
             Err.Raise(4096, "Standard.Module1.ThrowErrors", aDesc)
             Exit Sub
         AlertAndExecNext:
             errTitle = "Napaka "& Err &" v vrstici "& Erl &" v "& Err.Source
             MsgBox Err.Description, MB_ICONEXCLAMATION, errTitle
             Resume Next
         End Sub
      

Izjema ClassModule

tip

Kratek razredni modul, ki zaobjame predmet VBA Err, lahko razširja lastnosti in metode Err za standardne module LibreOffice Basic.



         Option ClassModule
         Option VBASupport 1
          
         Public Property Get Description As String
             Description = Err.Description
         End Property
         Public Property Get Number As Long
             Number = Err.Number
         End Property
         Public Property Get Source As String
             Source = Err.Source
         End Property
         Public Sub Clear
             Err.Clear
         End Sub
         Public Sub Raise( number As Long, Optional Source As String, Optional Description As String)
             Err.Raise number, Source, Description
         End Sub
      

Primer


         Function Exc As Object
             Exc = New Exception
         End Function
          
         Sub aRoutine
         try:
             On Local Error GoTo catch:
             Exc.Raise(4096, "myLib.myModule.aRoutine", _
                 Ve─Źvrsti─Źni opis trenutno izbranega elementa
             ' vaša koda sodi sem ...
         finally:
             Exit Sub
         catch:
             errTitle = "Napaka "& Exc.Number &" v vrstici "& Erl &" v "& Exc.Source
             MsgBox Exc.Description, MB_ICONSTOP, errTitle
             Resume finally
         End Sub
      
note

Ukaz Error ali razredni modul, podoben Exception, lahko uporabite izmenljivo, pri ─Źemer slednji prina┼ía dodatne funkcionalnosti.


Podprite nas!