Skip to main content

Command Palette

Search for a command to run...

Power Fx Error Handling Explained (Error, IfError, IsError, IsBlankOrError)

Updated
4 min read
Power Fx Error Handling Explained (Error, IfError, IsError, IsBlankOrError)

When building applications using Microsoft Power Apps, errors are inevitable. They can occur due to invalid user input, network failures, permission issues, or incorrect formulas. To build reliable applications, Power Fx provides several functions to detect, handle, and even create errors intentionally.

In this article, we will explore the most important Power Fx error handling functions:

  • Error()

  • IfError()

  • IsError()

  • IsBlankOrError()

These functions help developers prevent app crashes, provide meaningful feedback, and maintain smooth user experiences.


Understanding Errors in Power Fx

In Power Fx, errors are treated as values that propagate through formulas. If a formula produces an error, the error can flow through dependent formulas unless it is handled explicitly. Using functions like IfError or IsError, developers can intercept errors and return alternative results.

Example:

1 / 0

This formula generates a division by zero error.

Without proper handling, the error appears in the UI and may disrupt the user experience.


1. Using IfError() to Handle Errors

The IfError() function detects errors in a formula and returns an alternative value or performs an alternative action.

Syntax

IfError(Value, ReplacementValue)

If the first expression produces an error, the replacement value is returned.

Example

IfError( 1 / x, 0 )

If x equals 0, the division generates an error. Instead of showing the error, IfError returns 0.

Example with Notification

IfError(
    Patch(Orders, Defaults(Orders), {Name: txtName.Text}),
    Notify("Error while saving data", NotificationType.Error)
)

Here:

  • If Patch() fails

  • A notification message is displayed to the user.

This is commonly used in data submission scenarios.


2. Using IsError() to Detect Errors

The IsError() function checks whether a formula result is an error.

Syntax

IsError(Value)

Example

IsError(1 / 0)

Result:

true

This function is useful when you want to validate calculations before continuing execution.

Example:

If(
    IsError(Value(txtInput.Text)),
    Notify("Invalid number entered", NotificationType.Error)
)

3. Using IsBlankOrError()

Sometimes a value may be either blank or contain an error. Instead of writing two checks, Power Fx provides IsBlankOrError().

Syntax

IsBlankOrError(Value)

Example

If(
    IsBlankOrError(txtEmail.Text),
    Notify("Email is required", NotificationType.Error)
)

This function simplifies validation logic when dealing with user inputs or external data.


4. Creating Custom Errors with Error()

Power Fx also allows developers to generate their own errors intentionally using the Error() function.

This is useful when your business logic detects an invalid condition.

Syntax

Error(
    {
        Kind: ErrorKind.Custom,
        Message: "Invalid quantity entered"
    }
)

Example:

If(
    Value(txtQuantity.Text) < 1,
    Error(
        {
            Kind: ErrorKind.Custom,
            Message: "Quantity must be greater than zero"
        }
    )
)

This stops execution and produces a custom error message.

The Error function can also rethrow errors inside IfError or App.OnError, allowing developers to control when errors should propagate.


Real-World Scenario

Consider a form submission process:

IfError(
    Patch(Orders, Defaults(Orders), {OrderName: txtOrder.Text}),
    Notify("Failed to save order", NotificationType.Error),
    Notify("Order saved successfully", NotificationType.Success)
)

In this scenario:

  1. Patch() tries to save the record.

  2. If an error occurs, the user sees a failure message.

  3. If no error occurs, the success message appears.

This ensures a better user experience and reliable application behavior.


Best Practices for Power Fx Error Handling

  1. Always validate user inputs before submitting data.

  2. Use IfError() around operations that can fail (Patch, Remove, API calls).

  3. Provide clear user-friendly error messages.

  4. Use IsBlankOrError() for input validation.

  5. Use Error() when enforcing business rules.

Proper error handling improves application stability and user trust.


Conclusion

Error handling is an essential part of building robust applications in Power Apps. By using Error(), IfError(), IsError(), and IsBlankOrError(), developers can control how errors are detected, handled, and displayed.

Instead of exposing technical errors to users, these functions allow apps to handle failures gracefully and provide meaningful feedback, resulting in a better overall user experience.