Edukiak

# Err objektua [VBA]

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

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

- aurredefinitutako Basic erroreak sortzea

- erabiltzaileak definitutako salbuespenak sortzea

- errorearen jatorria den errutinari izena ematea

- errorea eta balizko konponbideak deskribatzea

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.

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

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

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

Erlazionatutako gaiak

Erroreak maneiatzeko funtzioak

Option ClassModule instrukzioa

Option VBASupport instrukzioa

ScriptForge.Exception zerbitzua

Emaguzu laguntza!