PowerApps의 IfError 함수IfError function in PowerApps

오류를 감지하고 대체 값을 제공하거나 작업을 수행합니다.Detects errors and provides an alternative value or takes action.



이 함수는 실험적 기능의 일부이며 변경될 수 있습니다.This function is part of an experimental feature and is subject to change. 여기에 설명된 동작은 수식 수준 오류 관리 기능이 설정되어 있는 경우에만 사용할 수 있습니다.The behavior described here is only available when the Formula-level error management feature is turned on. 기본적으로 해제되어 있는 앱 수준 설정입니다.This is an app level setting that defaults to off. 이 기능을 켜려면 파일 탭으로 이동하고, 왼쪽 메뉴의 앱 설정으로 이동한 다음, 실험적 기능으로 이동합니다.To turn this feature on, navigate to the File tab, App settings in the left hand menu, and then Experimental features. 여러분의 피드백은 매우 소중합니다. PowerApps 커뮤니티 포럼에 의견을 남겨주세요.Your feedback is very valuable to us - please let us know what you think in the PowerApps community forums.

IfError 함수는 오류 값을 찾기 위해 각 인수를 순서대로 테스트하여 오류가 아닌 첫 번째 값을 찾으면 중지합니다.The IfError function tests each of its arguments in order for an error value, stopping when the first non-error value is found. 오류가 아닌 값 다음의 인수는 무시되고 평가되지 않습니다.The arguments after the non-error value is found are ignored and not evaluated.

IfError를 사용하여 오류 값을 유효한 값으로 바꿉니다.Use IfError to replace error values with a valid value. 예를 들어, 사용자 입력으로 인해 0으로 나누기가 발생할 수 있는 경우, 다운스트림 계산을 진행할 수 있도록 앱에 적합한 0 또는 다른 유효한 값으로 바꿉니다.For example, if it is possible that user input may result in a division by zero, replace it with a 0 or other valid value that is appropriate for your app so that downstream calculations can proceed.

동작 수식IfError를 사용하여 작업을 수행하고 오류에 대한 결과를 확인하여 필요한 경우 추가 작업을 수행하거나 Notify를 사용하여 사용자에게 오류 메시지를 표시합니다.Use IfError in behavior formulas to perform actions, check the results for errors, and if needed take further actions or display an error message to the user with Notify.

IfError에 대한 모든 인수에서 오류가 발생하면 마지막 인수의 값이 반환됩니다(이것이 오류 값이 됨).If all of the arguments to IfError result in an error, the value of the last argument is returned (which will be an error value).


IfError( Value, Fallback1 [, Fallback2, ... ] )IfError( Value, Fallback1 [, Fallback2, ... ] )

  • Value - 필수 항목입니다.Value - Required. 오류 값을 테스트할 수식입니다.Formula(s) to test for an error value.
  • Fallback(s) - 필수 항목입니다.Fallback(s) - Required. 이전 인수가 오류를 반환한 경우 평가할 수식과 반환할 값입니다.The formulas to evaluate and values to return if previous arguments returned an error. Fallback 인수는 오류가 아닌 값을 찾는 지점까지 순서대로 평가됩니다.Fallback arguments are evaluated in order up to the point a a non-error value is found.


수식Formula 설명Description 결과Result
IfError( 1, 2 )IfError( 1, 2 ) 첫 번째 인수는 오류가 아닙니다.The first argument is not an error. 반환되고 이후 인수는 평가되지 않습니다.It is returned and subsequent arguments are not evaluated. 11
IfError( 1/0, 2 )IfError( 1/0, 2 ) 첫 번째 인수는(0으로 나누기로 인해) 오류 값을 반환합니다.The first argument is returning an error value (due to division by zero). 두 번째 인수는 평가되고 오류가 아닌 값이 반환됩니다.The second argument is evaluated resulting in a non-error value which is returned. 22
IfError( 1/0, Notify( "내부 문제가 있었습니다.", NotificationType.Error ) )IfError( 1/0, Notify( "There was an internal problem", NotificationType.Error ) ) 첫 번째 인수는(0으로 나누기로 인해) 오류 값을 반환합니다.The first argument is returning an error value (due to division by zero). 두 번째 인수는 평가되고 사용자에게 메시지를 표시합니다.The second argument is evaluated which displays a messages to the user. IfError의 반환 값은 Notify의 반환 값이며 IfError(숫자)의 첫 번째 인수와 동일한 형식으로 강제 변환됩니다.The return value of IfError is the return value of Notify, coerced to the same type as the first argument to IfError (a number). 11
IfError( 1/0, 1/0, 2, 1/0, 3 )IfError( 1/0, 1/0, 2, 1/0, 3 ) 첫 번째 인수는(0으로 나누기로 인해) 오류 값을 반환합니다.The first argument is returning an error value (due to division by zero). 두 번째 인수는 평가되고 역시(또 다른 0으로 나누기로 인해) 오류 값이 발생합니다.The second argument is evaluated, also resulting in an error value (another division by zero). 세 번째 인수가 평가되고 반환되는 오류 값에 반환되지 않습니다.The third argument is evaluated, which does not return in an error value which is returned. 네 번째와 다섯 번째 인수는 무시됩니다.The fourth and fifth arguments are ignored. 22

단계별 가이드Step by step

  1. 텍스트 입력 컨트롤을 추가하고 기본 이름이 없는 경우 이름을 TextInput1로 지정합니다.Add a Text input control, and name it TextInput1 if it doesn't have that name by default.

  2. 레이블 컨트롤을 추가하고 기본 이름이 없는 경우 이름을 Label1로 지정합니다.Add a Label control, and name it Label1 if it doesn't have that name by default.

  3. Label1Text 속성에 대한 수식을 다음과 같이 설정합니다.Set the formula for Label1's Text property to:

    IfError( Value( TextInput1.Text ), -1 )IfError( Value( TextInput1.Text ), -1 )

  4. TextInput11234를 입력합니다.In TextInput1, type 1234.

    Label1에 1234 값이 표시됩니다. 이것이 Value 함수에 대한 유효한 입력이기 때문입니다.Label1 will show the value 1234 as this is a valid input to the Value function.

  5. TextInput1ToInfinity를 입력합니다.In TextInput1, type ToInfinity.

    Label1에 -1 값이 표시됩니다. 이것은 Value 함수에 대한 유효한 입력이 아니기 때문입니다.Label1 will show the value -1 as this is not a valid input to the Value function. IfError를 사용하여 Value 함수를 래핑하지 않으면 오류 값이 공백으로 처리되므로 레이블에 값이 표시되지 않습니다.Without wrapping the Value function with IfError, the label would show no value as the error value is treated as a blank.