CUserException

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

CUserExceptionถูกส่งออกไปหลังจากการเรียกฟังก์ชันสากลAfxMessageBoxเพื่อแจ้งผู้ใช้ที่มีการดำเนินการล้มเหลวมักจะ เมื่อคุณเขียนเป็นตัวจัดการข้อยกเว้น จัดการข้อยกเว้นพิเศษเนื่องจากผู้ใช้มักจะมีแล้วถูกแจ้งความล้มเหลว กรอบข้อผิดพลาดนี้ยกเว้นในบางกรณี การโยนตัวเองแบบCUserExceptionแจ้งเตือนผู้ใช้ และจากนั้น เรียกใช้ฟังก์ชันสากลAfxThrowUserException?

ในตัวอย่างด้านล่าง ฟังก์ชันประกอบด้วยการดำเนินการที่อาจล้มเหลวเตือนผู้ใช้ และข้อผิดพลาดCUserException ฟังก์ชันการโทร catches ข้อยกเว้น และจัดการพิเศษ:

โมฆะ DoSomeOperation ()
{
 nbsp  / / ทำการประมวลผล
    / / ถ้าสิ่งที่ผิดไป...
    AfxMessageBox ("x ดำเนินล้มเหลว");
    AfxThrowUserException ()
}

() TrySomething BOOL
{
    ลอง
    {
        / / สามารถโยนแบบ CUserException หรือข้อยกเว้นอื่น ๆ
        DoSomeOperation () 
    }
    จุดอ่อน (CUserException, e)
    {
        ส่งกลับค่า FALSE    / / แล้วแจ้งผู้ใช้
    }
    AND_CATCH (CException, e)
    {
        / / สำหรับชนิดอื่น ๆ ยกเว้น แจ้งให้ผู้ใช้ที่นี่
        AfxMessageBox ("บางการล้มเหลว");
        ส่งกลับค่า FALSE
    }
    END_CATCH
    ส่งกลับ TRUE   / / ไม่มีข้อยกเว้นที่ส่งออกไป
}(&N)

ดูบทความสำหรับข้อมูลเพิ่มเติมเกี่ยวกับการใช้CUserException, ข้อยกเว้นในVisual c ++ Programmer ของคำแนะนำ?

#รวม lt;afxwin.h>

สมาชิกของคลาส base |nbsp แผนภูมิของลำดับชั้น(&N)

ดูเพิ่มเติมnbspCException, AfxMessageBox, AfxThrowUserException(&N)

Index