Narrow bare except blocks so real errors aren't swallowed (roadmap A4)
Replaced all 46 bare 'except:' across the package with specific exception
types, and logged the cases that indicate a real problem:
- config load/save: FileNotFoundError is the silent first-run case; other
OSError/ValueError/UnicodeDecodeError are logged.
- ffprobe/avprobe: JSON parse failures are now logged (previously a media
file that ffprobe couldn't read just silently failed to import); decode
fallbacks -> UnicodeDecodeError; duration parse -> ValueError/TypeError/
KeyError; install check -> OSError/SubprocessError.
- executor: pre_/post_function and progress-polling hooks now use hasattr
checks, and a real exception inside a defined hook is logged instead of
swallowed; decode fallbacks and numeric parses narrowed.
- best-effort filesystem ops (makedirs/unlink) -> OSError.
- all backend check_is_installed probes -> OSError/SubprocessError.
- shutdown: also fixes a latent NameError ('failure' was only set in the
except branch, so a successful logind PowerOff would crash the handler).
No bare 'except:' remain. Full suite (51 tests) green; GUI starts clean.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
63f10f3aa0
commit
6b624a72cd
21 changed files with 70 additions and 62 deletions
|
|
@ -908,16 +908,16 @@ class devede_project:
|
|||
if self.config.disc_type == "dvd":
|
||||
try:
|
||||
os.unlink(os.path.join(data.path, data.name + ".iso"))
|
||||
except:
|
||||
except OSError:
|
||||
pass
|
||||
if (self.config.disc_type == "vcd") or (self.config.disc_type == "svcd") or (self.config.disc_type == "cvd"):
|
||||
try:
|
||||
os.unlink(os.path.join(data.path, data.name + ".bin"))
|
||||
except:
|
||||
except OSError:
|
||||
pass
|
||||
try:
|
||||
os.unlink(os.path.join(data.path, data.name + ".cue"))
|
||||
except:
|
||||
except OSError:
|
||||
pass
|
||||
else:
|
||||
return
|
||||
|
|
@ -968,7 +968,7 @@ class devede_project:
|
|||
movie_folder = os.path.join(data.path, "movies")
|
||||
try:
|
||||
os.makedirs(movie_folder)
|
||||
except:
|
||||
except OSError:
|
||||
pass
|
||||
counter = 0
|
||||
if self.disc_type == "divx":
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue