שאלה מקצועית - exceptions

היי, אשמח לעזרה.

השאלה היא כללית- כמובן שלרוב לא אבצע את זה כך(שילוב של rasie וtry-except), אבל אני מנסה להבין איך פייתון עובדת.
בתוכנית השתמשתי בבלוק של try-except-finally
בתוך בלוק הtry השתמשתי בתנאי שבמידה ומקיים- rasie שגיאה מסויימת(נניח ValueError)
הבלוק של הexcept לא תופס את השגיאה הזו.
כשאני מריץ את התוכנה, השגיאה קופצת אבל התוכנית ממשיכה לבלוק של הfinally =למרות שהקוד כולו אמור לקרוס.(שאני עובר על הדיבוג הוא קופץ משורת הraise לexcept (בלי להיכנס לבלוק except) ואז ממשיך לfinally - בלי לקרוס.

אשמח להבין איך עובד התהליך :slight_smile:
(חיפשתי באינטרנט כמובן ועברתי על המחברות אבל לא מצאתי תשובה שמכילה את המקרה )

אפשר לראות בבקשה את הקוד? :slight_smile:

כן מצורף,(לא קוד שאני כתבתי או משהו), פשוט אני מנסה להבין למה הוא לא מקפיץ את השגיאה ומקריס את התוכנית?

תודה ים.

ה־except לא תופס ValueError אלא IOError