Err objektua [VBA]

Erabili VBAren Err objektua exekuzio-garaiko erroreak sortzeko edo maneiatzeko.

Err VBAn integratutako objektu globala da, honakoak egitea ahalbidetzen duena:

warning

Konstante, funtzio edo objektu hau Option VBASupport 1 instrukzioa programa-kode exekutagarriko modulu batean kokatuta gaitzen da.


VBAren Err objektuak honako propietateak eta metodoak ditu:

Propietateak


         Err.Description As String
      

The Description propietateak errorearen izaera erakusten du. Description propietateak errorearen zergatia izan daitezkeen arrazoien xehetasunak ematen ditu. Posible bada, auzia konpontzeko eta berriro gertatu ez dadin egin behar diren balizko urratsak ematen ditu. Basic aliasa aurredefinituta LibreOffice erroreetarako Error funtzioa da.


         Err.Number As Long
      

Erroreari lotutako errore-kodea. Err objektuaren propietate lehenetsia Number da. LibreOffice Basic aliasa Err funtzioa da.


         Err.Source As String
      

Source propietateak errora sortu duen errutinaren izena adierazten du. Source erabiltzaileak definitutako erroreetarako aukera bat da.

Metodoak


         Err.Clear()
      

Uneko errorearen deskribapena, Erl, zenbakia eta iturburua berrezartzen ditu. LibreOffice Basic aliasa Resume instrukzioa da.


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

Erabiltzaileak definitutako erroreak edo errore aurredefinituak sortzen ditu. LibreOffice Basic aliasa Error instrukzioa da.

Parametroak

Number: Sortuko den errorearen kodea, erabiltzaileak definitutakoa edo aurredefinitutakoa.

note

0 eta 2000 zenbakien arteko errore-kodeak LibreOffice Basic berarentzat erreserbatuta daude. Erabiltzaileak definitutako erroreek balio handiagoa eduki behar dute LibreOffice Basic lengoaiaren etorkizuneko garapenekin gatazkarik ez izateko.


Source: Errorea sortu duen errutinaren izena. Gomendagarria da "myLibrary.myModule.myProc" formako izena erabiltzea.

Description: Exekuzioan dagoen prozesua geldiaraztea eragiten duen arazoaren deskribapena, eta errorea sortu dezaketen arrazoiak. Gomendagarria da arazoa konpontzen lagundu dezaketen ekintza-lerroen zerrenda xehe bat ematea.

Adibidea:


         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:="Errore hau erabiltzaileak definitutakoa da …"
             Err.Raise(4096, "Standard.Module1.ThrowErrors", aDesc)
             Exit Sub
         AlertAndExecNext:
             errTitle = "Errorea "& Err &" honako lerroan: "& Erl &" hemen: "& Err.Source
             MsgBox Err.Description, MB_ICONEXCLAMATION, errTitle
             Resume Next
         End Sub
      

Exception ClassModule

tip

ClassModule labur bat, VBAren Err objektua biltzen duena eta Err propietateak eta metodoak banatu ditzakeena LibreOffice Basic moduluetarako.



         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
      

Adibidea


         Function Exc As Object
             Exc = New Exception
         End Function
          
         Sub aRoutine
         try:
             On Local Error GoTo catch:
             Exc.Raise(4096, "myLib.myModule.aRoutine", _
                 "Edozein lerro anitzeko deskribapen erabiltzaileak definitutako salbuespen honetarako")
             ' zure kodea hemen doa …
         finally:
             Exit Sub
         catch:
             errTitle = "Errorea: "& Exc.Number &" honako lerroan: "& Erl &" hemen: "& Exc.Source
             MsgBox Exc.Description, MB_ICONSTOP, errTitle
             Resume finally
         End Sub
      
note

Error instrukzioa edo Exception motako klase-modulu bat, bietako edozein erabili daiteke. Azkenak eginbide gehiago ditu.


Emaguzu laguntza!