오류 처리

Power Fx는 수식 수준 오류 처리를 지원합니다. 이 기능은 모든 새 앱에 대해 기본적으로 설정되어 있습니다. 그러나 일부 이전 앱은 앱 설정에서 꺼져 있을 수 있습니다. 이 기능을 계속 켜두는 것이 좋습니다.

이 기능이 켜져 있는지 확인하려면 다음을 수행합니다.

  1. 편집할 캔버스 앱을 엽니다.
  2. 설정>업데이트>사용 중지 탭으로 이동합니다.
  3. 수식 수준 관리 사용 안 함이 꺼져 있는지 확인합니다.

이 설정을 사용하도록 설정하면 수식(예IfError: , IsErrorErrorIsBlankorError)을 사용할 수 있습니다. 이러한 함수는 오류를 감지하거나, 대체 값을 제공하거나, 오류에 따라 특정 작업을 수행하는 데 도움이 됩니다. 이 설정을 켜면 데이터 원본에 null 또는 빈 값을 쓸 수 있습니다. 이 기능을 해제하면 오류가 빈 값으로 반환됩니다.

유효성 검사 오류 처리

이러한 함수는 잘못된 형식 또는 필수 필드와 같은 입력의 유효성을 검사하는 데 도움이 됩니다. If 문이나 IsBlankIsError와 같은 함수를 사용하여 사용자 입력의 유효성을 검사합니다. 명확한 오류 메시지를 제공하고 입력이 수정될 때까지 추가 처리를 방지합니다.

If( IsBlank(TextInput.Text),
    Notify("Field cannot be blank", 
    NotificationType.Error),
    // Continue with processing
)

Patch 함수 오류 처리

이전 예제와 마찬가지로 Error 함수는 데이터를 데이터 원본에 패치하는 동안 오류를 포착하는 데 도움이 됩니다. 이 Patch 함수는 두 가지 방법으로 오류를 보고합니다.

작업 결과로 오류 값을 반환할 수 있습니다.

UpdateContext(
    {   
    result : Patch(
             Feeds,
             Defaults(Feeds),
             {
                 createdon: Now(),
                 crde8_content: TextInput1_1.Text
                 cr9ce_imageurl: filename
             }
        )
    }
)

IsError를 사용하여 오류를 감지하고, 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)
)

양식 오류 처리

함수를 사용하여 SubmitForm 데이터를 제출할 때, 오류 메시지를 사용자에게 알리기 위해 양식 컨트롤 속성 OnFailure을 사용하세요.

// 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);

OnError 속성을 사용하여 사용자 지정 오류 메시지

Power Apps OnError 속성은 앱에서 처리되지 않은 모든 오류를 캡처합니다. 이 속성을 사용하면 앱에서 OnError 처리되지 않은 오류가 발생할 때마다 식을 실행할 수 있습니다. 예를 들어 변수에 오류를 저장하거나 오류를 다른 값으로 바꾸는 등의 IfError 함수를 사용할 수 있습니다. 속성을OnError 사용하려면 오류를 처리하려는 앱에 추가합니다. 그런 다음 속성 상자에 수식을 OnError 작성하여 표시할 오류 메시지를 지정합니다.

App.OnError 는 다음과 같이 IfError 오류를 바꿀 수 없습니다. 실행 시 App.OnError 오류가 이미 발생했으며 결과가 이미 다른 수식을 통과했습니다. App.OnError 만 오류가 최종 사용자에게 보고되는 방법을 제어합니다. 또한 원하는 경우 작성자가 오류를 기록할 수 있는 방법을 제공합니다.

App.OnError의 이 코드는 오류의 원인을 찾는 데 도움이 될 수 있습니다.

Notify(
    Concatenate(
        FirstError.Message,
        ", Observed: ",
        FirstError.Observed,
        ", Source: ",
        FirstError.Source
    ),
    NotificationType.Error
)

다음 단계