Behandle feil
Ved opprettelse av egendefinerte programmer må utviklere ofte utføre feilbehandling som omfatter skriving av programmeringskode for å kontrollere om programmet har generert feil eller for å generere egendefinerte feil. Microsoft Office InfoPath 2003-objektmodellen støtter feilhandling gjennom bruk av Error-objektet sammen med Errors-samlingen.
I InfoPath kan feil forekomme når et skjemas XML-skjema valideres, når en egendefinert valideringsbegrensning mislykkes, når en feil genereres av ReportError-metoden for DataDOMEvent-objektet eller når en feil opprettes ved hjelp av Add-metoden for Errors-samlingen.
Oversikt over Errors-samlingen
Errors-samlingen inneholder følgende metoder og egenskaper som skjemautviklere kan bruke til å behandle Error-objektene i samlingen:
Navn | Beskrivelse |
---|---|
Add-metoden | Oppretter et Error-objekt og legger det til i samlingen |
Delete-metoden | Sletter alle Error-objekter som er knyttet til angitt XML-node og betingelsesnavn |
DeleteAll-metoden | Sletter alle Error-objekter i samlingen |
Count-egenskapen | Returnerer antallet Error-objekter i samlingen |
Item-egenskapen | Returnerer en referanse til et Error-objekt basert på det angitte indeksnummeret |
Error-objektet inneholder følgende egenskaper som skjemautviklere kan bruke til å få tilgang til informasjon om feilobjektet:
Navn | Beskrivelse |
---|---|
ConditionName-egenskapen | Returnerer navnet på feilbetingelsen eller null, avhengig av type Error-objekt |
DetailedErrorMessage-egenskapen | Angir eller henter den detaljerte feilmeldingen for Error-objektet |
ErrorCode-egenskapen | Angir eller henter feilkoden for Error-objektet |
Node-egenskapen | Returnerer en referanse til XML-noden som er knyttet til Error-objektet |
ShortErrorMessage-egenskapen | Angir eller henter den korte feilmeldingen for Error-objektet |
Type-egenskapen | Returnerer Error-objekttypen |
Bruke Errors-samlingen og Error-objektet
Errors-samlingen er tilgjengelig via Errors-egenskapen for XDocument-objektet. Errors-samlingen er knyttet til et skjemas underliggende XML-dokument slik at feil som oppstår, oppstår i XML-dokumentet. Eksemplet nedenfor viser hvordan en for-løkke i Microsoft JScript kan brukes til å kontrollere feilene som kan finnes i et skjemas underliggende XML-dokument. Funksjonen kontrollerer først Count-egenskapen for Errors-samlingen for å finne ut om det finnes feil. Hvis det finnes feil, går funksjonen i løkke gjennom hver av feilene og bruker ShortErrorMessage-egenskapen for Error-objektet til å vise en meldingsboks for brukeren.
function CheckErrors(xmlNode)
{
for (var i=0; i<XDocument.Errors.Count; i++)
{
var objError = XDocument.Errors(i);
if (xmlNode == objError.Node)
{
XDocument.UI.Alert("The following error has occured: " +
objError.ShortErrorMessage + ".");
}
}
}
Den foregående funksjonen kan kalles fra en hendelsesbehandling for datavalidering som er definert for skjemaet. Hvis den for eksempel brukes i OnAfterChange-hendelsen for et felt i skjemaet, overfører funksjonskallet XML-nodeargumentet ved hjelp av Site-egenskapen for DataDOMEvent-objektet på denne måten:
CheckErrors(eventObj.Site);
I tillegg til å behandle feil som genereres av InfoPath, kan skjemautviklere også generere sine egne egendefinerte feil ved hjelp av ReportError-metoden for DataDOMEvent-objektet eller Add-metoden for Errors-samlingen. Hvis du vil ha informasjon om bruk av ReportError- eller Add-metoden, klikk metodene på begynnelsen av dette emnet.