From f6834bae8360179515ad5150d0041e4380696773 Mon Sep 17 00:00:00 2001 From: Oleh Prypin Date: Fri, 1 Jul 2016 10:14:13 +0300 Subject: [PATCH] Don't use bare `except:` Bare `except:` also catches SystemExit, KeyboardInterrupt, GeneratorExit, causing unexpected problems. Fixes #1372 --- xonsh/ansi_colors.py | 2 +- xonsh/built_ins.py | 4 ++-- xonsh/codecache.py | 2 +- xonsh/completers/man.py | 4 ++-- xonsh/environ.py | 4 ++-- xonsh/jobs.py | 4 ++-- xonsh/platform.py | 2 +- xonsh/pyghooks.py | 2 +- xonsh/readline_shell.py | 4 ++-- xonsh/tokenize.py | 2 +- xonsh/tools.py | 4 ++-- 11 files changed, 17 insertions(+), 17 deletions(-) diff --git a/xonsh/ansi_colors.py b/xonsh/ansi_colors.py index ab2a7187d..334328929 100644 --- a/xonsh/ansi_colors.py +++ b/xonsh/ansi_colors.py @@ -34,7 +34,7 @@ def partial_color_format(template, style='default', cmap=None, hide=False): """ try: return _partial_color_format_main(template, style=style, cmap=cmap, hide=hide) - except: + except Exception: return template diff --git a/xonsh/built_ins.py b/xonsh/built_ins.py index 18faad464..7f89c00ca 100644 --- a/xonsh/built_ins.py +++ b/xonsh/built_ins.py @@ -551,7 +551,7 @@ def run_subproc(cmds, captured=False): output = stdoutfile.read() try: _nstdout.close() - except: + except Exception: pass os.unlink(_stdout_name) elif prev_proc.stdout not in (None, sys.stdout): @@ -572,7 +572,7 @@ def run_subproc(cmds, captured=False): errout = stderrfile.read() try: _nstderr.close() - except: + except Exception: pass os.unlink(_stderr_name) elif unnamed: diff --git a/xonsh/codecache.py b/xonsh/codecache.py index ca3a699c4..63d2b016c 100644 --- a/xonsh/codecache.py +++ b/xonsh/codecache.py @@ -103,7 +103,7 @@ def compile_code(filename, code, execer, glb, loc, mode): old_filename = execer.filename execer.filename = filename ccode = execer.compile(code, glbs=glb, locs=loc, mode=mode) - except: + except Exception: raise finally: execer.filename = old_filename diff --git a/xonsh/completers/man.py b/xonsh/completers/man.py index 022a7e293..7cec59144 100644 --- a/xonsh/completers/man.py +++ b/xonsh/completers/man.py @@ -25,7 +25,7 @@ def complete_from_man(prefix, line, start, end, ctx): try: with open(OPTIONS_PATH, 'rb') as f: OPTIONS = pickle.load(f) - except: + except Exception: OPTIONS = {} if not prefix.startswith('-'): return set() @@ -44,7 +44,7 @@ def complete_from_man(prefix, line, start, end, ctx): OPTIONS[cmd] = matches with open(OPTIONS_PATH, 'wb') as f: pickle.dump(OPTIONS, f) - except: + except Exception: return set() return {s for s in OPTIONS[cmd] if get_filter_function()(s, prefix)} diff --git a/xonsh/environ.py b/xonsh/environ.py index 94739d387..a45bb3e33 100644 --- a/xonsh/environ.py +++ b/xonsh/environ.py @@ -1200,7 +1200,7 @@ def _failover_template_format(template): def format_prompt(template=DEFAULT_PROMPT, formatter_dict=None): try: return _format_prompt_main(template, formatter_dict) - except: + except Exception: return _failover_template_format(template) @@ -1228,7 +1228,7 @@ def partial_format_prompt(template=DEFAULT_PROMPT, formatter_dict=None): try: return _partial_format_prompt_main(template=template, formatter_dict=formatter_dict) - except: + except Exception: return _failover_template_format(template) diff --git a/xonsh/jobs.py b/xonsh/jobs.py index c21067908..07c1fe9b6 100644 --- a/xonsh/jobs.py +++ b/xonsh/jobs.py @@ -40,7 +40,7 @@ elif ON_CYGWIN: for pid in job['pids']: try: os.kill(pid, signal) - except: + except Exception: pass else: def _send_signal(job, signal): @@ -49,7 +49,7 @@ else: for pid in job['pids']: try: os.kill(pid, signal) - except: + except Exception: pass else: os.killpg(job['pgrp'], signal) diff --git a/xonsh/platform.py b/xonsh/platform.py index 0fdfe8910..687753dae 100644 --- a/xonsh/platform.py +++ b/xonsh/platform.py @@ -17,7 +17,7 @@ def _distro(): import distro as d except ImportError: d = None - except: + except Exception: raise return d diff --git a/xonsh/pyghooks.py b/xonsh/pyghooks.py index c5513a3c2..a5da1d833 100644 --- a/xonsh/pyghooks.py +++ b/xonsh/pyghooks.py @@ -206,7 +206,7 @@ def partial_color_tokenize(template): color = Color.NO_COLOR try: toks, color = _partial_color_tokenize_main(template, styles) - except: + except Exception: toks = [(Color.NO_COLOR, template)] if styles is not None: styles[color] # ensure color is available diff --git a/xonsh/readline_shell.py b/xonsh/readline_shell.py index bdc01c962..7a3d35a7c 100644 --- a/xonsh/readline_shell.py +++ b/xonsh/readline_shell.py @@ -78,7 +78,7 @@ def setup_readline(): RL_COMPLETION_SUPPRESS_APPEND = None try: RL_STATE = ctypes.c_int.in_dll(lib, 'rl_readline_state') - except: + except Exception: pass RL_CAN_RESIZE = hasattr(lib, 'rl_reset_screen_size') env = builtins.__xonsh_env__ @@ -160,7 +160,7 @@ def fix_readline_state_after_ctrl_c(): _q = readline.rl.mode.process_keyevent_queue if len(_q) > 1: _q.pop() - except: + except Exception: pass if RL_STATE is None: return diff --git a/xonsh/tokenize.py b/xonsh/tokenize.py index aace5f8a9..fd25fec75 100644 --- a/xonsh/tokenize.py +++ b/xonsh/tokenize.py @@ -531,7 +531,7 @@ def _tokopen(filename): text = TextIOWrapper(buffer, encoding, line_buffering=True) text.mode = 'r' return text - except: + except Exception: buffer.close() raise diff --git a/xonsh/tools.py b/xonsh/tools.py index 52268cdda..a1a962212 100644 --- a/xonsh/tools.py +++ b/xonsh/tools.py @@ -1270,7 +1270,7 @@ def _get_color_indexes(style_map): rgb = (int(attr.color[0:2], 16), int(attr.color[2:4], 16), int(attr.color[4:6], 16)) - except: + except Exception: rgb = None yield token, index, rgb @@ -1524,7 +1524,7 @@ def expandvars(path): value = dollar + brace + '...' + rbrace else: value = dollar + brace + var + rbrace - except: + except Exception: value = dollar + brace + var + rbrace res += value else: