LibreOffice 25.2 žinynas
Naudokite objektą VBA Err, kad rastumėte arba apdorotumėte vykdymo klaidas.
Err įterpta į VBA globalųjį objektą, kuris leidžia:
rasti iš anksto apibrėžtas „Basic“ klaidas
atsisakyti vartotojo apibrėžtų išimčių
įvardyti paprogramą, kurioje atsirado klaida
apibūdinti klaidą ir galimus sprendimo būdus
VBA Err objekto savybės ir metodai:
         Err.Description As String
      Savybė Aprašas nurodo klaidos pobūdį. Aprašymas išsamiai aprašo įvairias priežastis, kurios gali iššaukti klaidas. Geriausia, jei pasiūlomi keli veiksmai, padedantys spręsti problemą ir užkirsti kelią klaidų kartojimuisi. „Basic“ slapyvardis yra iš anksto nustatytų „LibreOffice“ klaidų Error funkcija.
         Err.Number As Long
      Su klaida susijęs klaidos kodas.Err objekto numatytoji savybė yra Skaičius. „LibreOffice Basic“ slapyvardis yra Err funkcija.
         Err.Source As String
      Šaltinis nurodo paprogramės, kuri sukelia klaidą, pavadinimą. Šaltinis yra vartotojo apibrėžtų klaidų parinktis.
         Err.Clear()
      Atstatyti esamos klaidos aprašą Erl, skaičiųir šaltinio savybes. „LibreOffice Basic“ slapyvardis yra Atstatyti sakinys.
         Err.Raise(Number As Long, Optional source As String, Optional description As String)
      Pateikia vartotojo apibrėžtas klaidas arba iš anksto nustatytas klaidas. „LibreOffice Basic“ slapyvardis yra Klaida sakinys.
Skaičius: Vartotojo apibrėžtas arba iš anksto nustatytas klaidos kodas, kurį reikia paskelbti.
Klaidų kodų intervalas 0–2000 yra rezervuotas programai „LibreOffice Basic“. Vartotojo apibrėžtos klaidos gali prasidėti nuo didesnių reikšmių, kad būtų išvengta nesusipratimų su būsimais „LibreOffice Basic“ išplėtimais.
Šaltinis: klaidą sukeliančios paprogramės pavadinimas. Rekomenduojamo pavadinimo forma „myLibrary.myModule.myProc“.
Aprašymas: Problemos, dėl kurios stabdomas vykdomas procesas drauge su įvairiomis priežastimis, kurios gali jį sukelti, aprašymas. Rekomenduojamas išsamus galimų veiksmų, kurie gali padėti išspręsti problemą, sąrašas.
         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, Aprašymas:="Tai yra vartotojo apibrėžta klaida…"
             Err.Raise(4096, "Standard.Module1.ThrowErrors", aDesc)
             Exit Sub
         AlertAndExecNext:
             errTitle = "Klaida "& Err &" eilutės Nr. "& Erl &" šaltinis "& Err.Source
             MsgBox Err.Description, MB_ICONEXCLAMATION, errTitle
             Resume Next
         End Sub
      Trumpas modulis ClassModule, kuris sulanksto VBA Err objektą, gali paskirstyti Err standartinio „LibreOffice Basic“ modulio savybes ir metodus.
         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
      
         Function Exc As Object
             Exc = New Exception
         End Function
          
         Sub aRoutine
         try:
             On Local Error GoTo catch:
             Exc.Raise(4096, "myLib.myModule.aRoutine", _
                 "Bet koks šios vartotojo apibrėžtos išimties kelių eilučių aprašymas")
             ' jūsų kodas eina čia
         finally:
             Exit Sub
         catch:
             errTitle = "Klaida "& Exc.Number &" eilutėje "& Erl &" šaltinis "& Exc.Source
             MsgBox Exc.Description, MB_ICONSTOP, errTitle
             Resume finally
         End Sub
      Error sakinį ar į išimtį panašų klasės modulį galima naudoti pakaitomis, nors pastarieji prideda papildomų funkcijų.