Err Object [VBA]

Gumamit ng VBA Err object na itaas o pangasiwaan ang mga error sa runtime.

Err ay isang built-in na VBA global object na nagbibigay-daan sa:

warning

Ang pare-pareho, function o bagay na ito ay pinagana sa pahayag Opsyon VBASupport 1 inilagay bago ang executable program code sa isang module.


Ang VBA Err Ang object ay may mga sumusunod na katangian at pamamaraan:

Mga Katangian


         Err.Description As String
      

Ang Paglalarawan Ang ari-arian ay nagbibigay ng likas na katangian ng pagkakamali. Paglalarawan mga detalye ng iba't ibang mga kadahilanan na maaaring maging sanhi ng pagkakamali. Sa isip, nagbibigay ito ng maraming paraan ng pagkilos upang makatulong na malutas ang isyu at maiwasan ang muling paglitaw nito. Ang Pangunahing alias ay ang Error function para sa LibreOffice na paunang natukoy na mga error.


         Err.Number As Long
      

Ang error code na nauugnay sa error. Err object default na ari-arian ay Numero . Ang LibreOffice Basic alias ay ang Err function.


         Err.Source As String
      

Pinagmulan ay nagpapahiwatig ng pangalan ng routine na gumagawa ng error. Pinagmulan ay isang opsyon para sa mga error na tinukoy ng user.

Pamamaraan


         Err.Clear()
      

Nire-reset ang paglalarawan, Erl , numero at pinagmulang katangian ng kasalukuyang error. Ang LibreOffice Basic alias ay ang Ipagpatuloy pahayag.


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

Naghahagis ng mga error na tinukoy ng gumagamit o mga paunang natukoy na error. Ang LibreOffice Basic alias ay ang Error pahayag.

Mga Parameter

Numero : Isang code ng error na tinukoy ng gumagamit o paunang natukoy na itataas.

note

Ang saklaw ng error code 0-2000 ay nakalaan para sa LibreOffice Basic. Maaaring magsimula ang mga error na tinukoy ng user sa mas matataas na halaga upang maiwasan ang banggaan sa LibreOffice Basic na mga pag-unlad sa hinaharap.


Pinagmulan : Ang pangalan ng nakagawiang nagtataas ng error. Ang isang pangalan sa anyo ng "myLibrary.myModule.myProc" ay inirerekomenda.

Paglalarawan : Isang paglalarawan ng problema na humahantong sa pagpapahinto sa proseso ng pagtakbo, na sinamahan ng iba't ibang dahilan na maaaring magdulot nito. Inirerekomenda ang isang detalyadong listahan ng mga posibleng pagkilos na maaaring makatulong sa paglutas ng problema.

Halimbawa:


         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, Paglalarawan:="Ito ay isang inilaan na error na tinukoy ng user …"
             Err.Raise(4096, "Standard.Module1.ThrowErrors", aDesc)
             Exit Sub
         AlertAndExecNext:
             errTitle = "Error "& Err &" sa linyang "& Erl &" sa "& Err.Source
             MsgBox Err.Description, MB_ICONEXCLAMATION, errTitle
             Resume Next
         End Sub
      

Exception ClassModule

tip

Isang maikli ClassModule , na bumabalot sa VBA Err bagay, maaaring ipamahagi Err mga katangian at pamamaraan para sa karaniwang LibreOffice Basic na mga module.



         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
      

Halimbawa


         Function Exc As Object
             Exc = New Exception
         End Function
          
         Sub aRoutine
         try:
             On Local Error GoTo catch:
             Exc.Raise(4096, "myLib.myModule.aRoutine", _
                 "Anumang multi-line na paglalarawan para sa pagbubukod na tinukoy ng user")
             ' ang iyong code ay napupunta dito …
         finally:
             Exit Sub
         catch:
             errTitle = "Error "& Exc.Number &" sa linyang "& Erl &" sa "& Exc.Source
             MsgBox Exc.Description, MB_ICONSTOP, errTitle
             Resume finally
         End Sub
      
note

Ang Error statement o isang Exception-like class module ay maaaring gamitin nang palitan, habang ang huli ay nagdaragdag ng mga karagdagang feature.


Mangyaring suportahan kami!