แชร์ผ่าน


การจัดการข้อผิดพลาด

Power Fx มีคุณลักษณะรุ่นพรีวิวที่เปิดใช้งานการจัดการข้อผิดพลาดในระดับสูตร โดยค่าเริ่มต้น คุณลักษณะนี้จะถูกเปิดในการตั้งค่า

ภาพหน้าจอของคุณลักษณะที่กำลังจะมีขึ้นในการตั้งค่าที่แสดงการตั้งค่าการจัดการข้อผิดพลาดในระดับสูตรเป็นเปิด

การตั้งค่านี้ให้สิทธิ์เข้าถึงสูตรต่างๆ เช่น IfError, IsError, Error และ IsBlankorError ฟังก์ชันเหล่านี้ช่วยให้คุณตรวจหาข้อผิดพลาด ให้ค่าทางเลือก หรือดำเนินการเฉพาะตามข้อผิดพลาด

การจัดการข้อผิดพลาดในการตรวจสอบความถูกต้อง

ฟังก์ชันเหล่านี้ช่วยตรวจสอบอินพุต เช่น รูปแบบที่ไม่ถูกต้องหรือฟิลด์ที่จำเป็น ใช้คำสั่ง If หรือฟังก์ชัน เช่น IsBlank และ IsError เพื่อตรวจสอบการป้อนข้อมูลของผู้ใช้ ระบุข้อความแสดงข้อผิดพลาดที่ชัดเจนและป้องกันการประมวลผลเพิ่มเติมจนกว่าอินพุตจะได้รับการแก้ไข

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

คุณสมบัติ OnError ของ Power Apps นี้ช่วยให้คุณบันทึกข้อผิดพลาดที่ไม่สามารถจัดการได้ทั้งหมดในแอปของคุณ คุณสมบัติ 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
)

การจัดการข้อผิดพลาด Power Fx

ขั้นตอนถัดไป