Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
Power Fx biedt ondersteuning voor foutafhandeling op formuleniveau. Deze functie is standaard ingeschakeld voor alle nieuwe apps. Voor sommige oudere apps is het echter mogelijk uitgeschakeld in app-instellingen. We raden u aan deze functie ingeschakeld te houden.
Controleren of deze functie is ingeschakeld:
- Open een canvas-app om te bewerken.
- Ga naar het tabbladInstellingenupdates>>buiten gebruik gesteld.
- Zorg ervoor dat uitschakelen van beheer op formuleniveau is uitgeschakeld.
Wanneer deze instelling is ingeschakeld, kunt u formules zoals IfError, IsError, Error en IsBlankorError gebruiken. Met deze functies kunt u fouten detecteren, alternatieve waarden opgeven of specifieke acties uitvoeren op basis van de fout. Wanneer u deze instelling inschakelt, kunt u null- of lege waarden schrijven naar gegevensbronnen. Wanneer u deze functie uitschakelt, worden fouten geretourneerd als lege waarden.
Afhandeling van validatiefouten
Met deze functies kunt u invoer valideren, bijvoorbeeld op onjuiste opmaak of vereiste velden. Gebruik If instructies of functies zoals IsBlank en IsError om gebruikersinvoer te valideren. Zorg voor duidelijke foutmeldingen en voorkom verdere verwerking totdat de invoer gecorrigeerd is.
If( IsBlank(TextInput.Text),
Notify("Field cannot be blank",
NotificationType.Error),
// Continue with processing
)
Afhandeling van patchfunctiefouten
Net als in het vorige voorbeeld helpen Error-functies bij het opsporen van fouten tijdens het patchen van gegevens naar een gegevensbron. De Patch-functie meldt fouten op twee manieren.
Het kan een foutwaarde retourneren als resultaat van de bewerkingen.
UpdateContext(
{
result : Patch(
Feeds,
Defaults(Feeds),
{
createdon: Now(),
crde8_content: TextInput1_1.Text
cr9ce_imageurl: filename
}
)
}
)
U kunt fouten detecteren door ze te gebruiken IsError en te vervangen of te onderdrukken met behulp van IfError.
IfError(result, Notify("There was an issue saving data" , NotificationType.Error));
IfError(result, Notify("There was an issue saving data" , & FirstError.Message, NotificationType.Error))
If(
IsError(
Patch(
Feeds,
Defaults(Feeds),
{
createdon: Now(),
crde8_content: TextInput1_1.Txt,
cr9ce_imageurl: filename
}
)
),
Notify("Error: There was an issue saving data", NotificationType.Error)
)
Afhandeling van formulierfouten
Wanneer u Formulieren gebruikt om gegevens te verzenden met behulp van de functie, gebruikt u de eigenschap SubmitForm Formulierbesturingselement om gebruikers op de OnFailure hoogte te stellen van foutberichten.
// OnSelect property of the form's submit button
SubmitForm(frm_SubmitData);
// OnSuccess property of the form
Navigate('Success Screen');
// OnFailure property of the form
Notify("Error: the invoice could not be created", NotificationType.Error);
Aangepast foutbericht met behulp van de eigenschap OnError
Met de eigenschap Power Apps OnError worden alle niet-verwerkte fouten in uw app vastgelegd. Met behulp van de OnError eigenschap kunt u een expressie uitvoeren telkens wanneer de app een niet-verwerkte fout tegenkomt. U kunt de fout bijvoorbeeld opslaan in een variabele of een functie gebruiken, zoals IfError het vervangen van de fout door een andere waarde. Als u de eigenschap wilt gebruiken, voegt u deze OnErrortoe aan de app waar u fouten wilt afhandelen. Schrijf vervolgens een formule in het OnError eigenschappenvak om het foutbericht op te geven dat u wilt weergeven.
App.OnError kan de fout niet herstellen zoals IfError dat kan. Wanneer App.OnError uitgevoerd wordt, is de fout al opgetreden en is de uitkomst al door andere formules verwerkt.
App.OnError bepaalt alleen hoe de fout wordt gerapporteerd aan de eindgebruiker. Het biedt ook een manier waarop de maker de fout indien gewenst kan registreren.
Deze code op App.OnError kan u helpen de oorzaak van de fout te achterhalen:
Notify(
Concatenate(
FirstError.Message,
", Observed: ",
FirstError.Observed,
", Source: ",
FirstError.Source
),
NotificationType.Error
)