Err Object [VBA]

Bruk VBA-objektet Err for Ă„ heva eller handsama kĂžyretidsfeil.

Err er eit innebygd VBA-objekt som tillet:

warning

Denne konstanten eller funksjonen eller dette objektet vert slÄtt pÄ med uttrykket Option VBASupport 1 sett framfÞre den kÞyrbare programkoden i ein modul.


VBA-objektet Err har desse eigenskapane og metodane:

Eigenskapar


         Err.Description As String
      

Eigenskapen Description skildrar naturen til feilen. Description viser dei ulike moglege Ärsakene til feilen. Ideelt vert fleire metodar for Ä lÞysa feilen gjevne, og ogsÄ forslag til Ä hindra at feilen kjem opp igjen. Basic alias er funksjonen Error for fÞrehandsdefinerte feil i LibreOffice.


         Err.Number As Long
      

Feilkoden er knytt til feilen. Standardeigenskapen for objektet Err er Number. LibreOffice Basic alias er funksjonen Err.


         Err.Source As String
      

Source viser namnet pÄ rutinen som var Ärsak til feilen. Source er ei innstilling for brukardefinerte feil.

Metodar


         Err.Clear()
      

Nullstiller skildringa Erl, nummer og kjeldeeigenskapane for den gjeldande feilen. Aliaset er uttrykket LibreOffice Basic Resume.


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

Kastar brukardefinerte feil eller fĂžrehandsdefinerte feil. Alias er uttrykket LibreOffice Basic Error.

Parametrar

Tal: ein brukardefinert eller fĂžrhandsdefinert feilkode som skal visast.

note

Feilkodane 0-2000 er reserverte for LibreOffice Basic. Brukardefinerte feil mÄ byrja frÄ hÞgare verdiar for Ä unngÄ kollisjon med framtidige utgÄver av LibreOffice Basic.


Kjelde: Namnet pÄ rutinen som utlÞyste feilen. Det vert rÄdd til Ä bruka eit namn med forma «mittBibliotek.minModul.minProsedyre».

Description Ei skildring av problemet som fÞrte til at prosessen stoppa, med dei ulike Ärsakene som kan vera grunnen til det. Det vert tilrÄdd Ä bruka ei detaljert liste over forslag som kan hjelpa til Ä lÞyse problemet.

Eksempel:


         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:="Dette er ein tilsikta brukardefinert feil 
"
             Err.Raise(4096, "Standard.Module1.ThrowErrors", aDesc)
             Exit Sub
         AlertAndExecNext:
             errTitle = "Error "& Err &" at line "& Erl &" in "& Err.Source
             MsgBox Err.Description, MB_ICONEXCLAMATION, errTitle
             Resume Next
         End Sub
      

Unntak ClassModule

tip

Ein kort ClassModule som omsluttar VBA Err-objekt kan fordela Err-eigenskapar og metodar for standard LibreOffice Basic-modular.



         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
      

Eksempel


         Function Exc As Object
             Exc = New Exception
         End Function
          
         Sub aRoutine
         try:
             On Local Error GoTo catch:
             Exc.Raise(4096, "myLib.myModule.aRoutine", _
                 "Kva fleirlinja skildring som helst av dette brukardefinerte unntaket")
             ' her kjem koden din
         finally:
             Exit Sub
         catch:
             errTitle = "Error "& Exc.Number &" at line "& Erl &" in "& Exc.Source
             MsgBox Exc.Description, MB_ICONSTOP, errTitle
             Resume finally
         End Sub
      
note

Uttrykket Error eller ein unntaksliknande klassemodul kan brukast om kvarandre, men den sistnemnde legg til ekstra funksjonar.


StĂžtt oss!