exceptions visual c++ 6.0 sp 6

cyberia2ooo

New member
exceptions visual c++ 6.0 sp 6

שאלה... יש לי מחלקה אחד מהאברים שלה הוא HANDLE שמאותחל לINVALID_HANLE_VALUE בקונסטרקטור. בכל מקרה יש לי פונקציה של המחלקה שמה שהיא עושה זה לקרוא לOpenProcessHanle עם pid כלשהו ולהעביר את הערך לHANDLE הנל. אם הפונקציה נכשלת היא צריכה לזרוק exception שלי שנגזרה מהמחלקה הSTLית exception העניין הוא כזה ברגע שהפונקציה נכשלת ואני זורק exception אני מקבל abnormal termination עכשיו אם הפונקציה לא נכשלת ואני זורק באותה נק' בדיוק אז בלוק הcatch שלי תופס את הexception עכשיו ניסיתי לזרוק exceptionים שהם לא מחלקה שלי בכלל (ניסיתי לזרוק integer) ועכשיו ככה אם אני לא מעביר את התוצאה לhandle שלי אז הexception נתפס כמו שצריך אם הפונקציה לא נכשלת ואני זורק את הexception אז הוא נתפס כמו שצריך מה זה צריך להיות? למישהו יש רעיונות?
 

DNile

New member
מה שאני בדרך כלל עושה במקרים

כאלה, למרות שזה לא לגמריי "תקני", זה לבצע disassembly לקוד, ולדבג ברמת האסמבלי. לפעמים הקומפיילר מפשל, לפעמים אני מפשל, לפעמים שנינו מפשלים ביחד, ברמת האסמבלי, אין אשמים, יש רק עובד / לא עובד.
 

cyberia2ooo

New member
זה מה שאני גם עושה

אבל אני לא מוצא שום דבר ששלא נכון מבחינת האסמבלי ההבדל היחידי הוא שבאחד הוא משתמש בecx בשביל לשמור את הכתובת של מה שאני זורק לפני שהוא דוחף אותו למחסנית ובשני הוא משתמש בedx לאותה מטרה
 

cyberia2ooo

New member
טוב בסוף העניין הוא

בגלל שהdestructor של האובייקט שממתודה שלו נזרק האקספשן זרק עוד אקספשן אז התוכנית קרסה עם abnormal termination אבל ממתי destructorים לא יכולים לזרוק אקספשן?
 

cyberia2ooo

New member
לכן ההודעה שעוקבת את ההודעה שלי

אחרי מחשבה של שניה וחצי הבנתי כמה זה מפגר
 
למעלה