בכל מה שנוגע לפתיחת קבצים יש כמה שגיאות שנמצאות תחת OSError שהשתמשתי בהן בחלק גדול מהתרגילים, אבל יש מקרה שלא מצאתי עבורו exception ספציפי: כאשר במשתנה ה-path בפונקציה open מזינים int קופצת השגיאה: OSError: [WinError 6] The handle is invalid
.
תחת OS exceptions (Built-in Exceptions — Python 3.10.1 documentation)
אין שגיאה מתאימה אז אני נדרש להשתמש ב-OSError. הבעיה היא שזה “תופס” עוד הרבה שגיאות אחרות (כולל שגיאות שאני רוצה לתפוס בניסיון לפתוח ולקרוא קובץ כמו: FileNotFoundError, IsADirectoryError, PermissionError).
מה נכון לעשות במקרה כזה?
בינתיים כתבתי שורה אחת של except שבה כל השגיאות הספציפיות שאני רוצה לתפוס כמו אלה שציינתי, ואחריה except אחר עם OSError.