[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 14/42] scripts/qmp-shell: fix shell history exception handling
From: |
John Snow |
Subject: |
[PATCH 14/42] scripts/qmp-shell: fix shell history exception handling |
Date: |
Mon, 7 Jun 2021 16:06:21 -0400 |
We want to remove exceptions that are too broad here; we only want to
catch IOErrors that get raised as a direct result of the open call.
Signed-off-by: John Snow <jsnow@redhat.com>
---
scripts/qmp/qmp-shell | 15 ++++++---------
1 file changed, 6 insertions(+), 9 deletions(-)
diff --git a/scripts/qmp/qmp-shell b/scripts/qmp/qmp-shell
index afb4b0c544..80cd432607 100755
--- a/scripts/qmp/qmp-shell
+++ b/scripts/qmp/qmp-shell
@@ -67,7 +67,6 @@
import ast
import atexit
-import errno
import json
import os
import re
@@ -143,19 +142,17 @@ class QMPShell(qmp.QEMUMonitorProtocol):
readline.set_completer_delims('')
try:
readline.read_history_file(self._histfile)
- except Exception as e:
- if isinstance(e, IOError) and e.errno == errno.ENOENT:
- # File not found. No problem.
- pass
- else:
- print("Failed to read history '%s'; %s" % (self._histfile, e))
+ except FileNotFoundError:
+ pass
+ except IOError as err:
+ print(f"Failed to read history '{self._histfile}': {err!s}")
atexit.register(self.__save_history)
def __save_history(self):
try:
readline.write_history_file(self._histfile)
- except Exception as e:
- print("Failed to save history file '%s'; %s" % (self._histfile, e))
+ except IOError as err:
+ print(f"Failed to save history file '{self._histfile}': {err!s}")
@classmethod
def __parse_value(cls, val):
--
2.31.1
- [PATCH 05/42] scripts/qmp-shell: fix connect method signature, (continued)
- [PATCH 05/42] scripts/qmp-shell: fix connect method signature, John Snow, 2021/06/07
- [PATCH 01/42] scripts/qmp-shell: apply isort rules, John Snow, 2021/06/07
- [PATCH 04/42] scripts/qmp-shell: fix exception handling, John Snow, 2021/06/07
- [PATCH 06/42] scripts/qmp-shell: remove shadowed variable from _print(), John Snow, 2021/06/07
- [PATCH 07/42] scripts/qmp-shell: use @classmethod where appropriate, John Snow, 2021/06/07
- [PATCH 03/42] scripts/qmp-shell: fix show_banner signature, John Snow, 2021/06/07
- [PATCH 21/42] scripts/qmp-shell: remove prompt argument from read_exec_command, John Snow, 2021/06/07
- [PATCH 08/42] scripts/qmp-shell: Use python3-style super(), John Snow, 2021/06/07
- [PATCH 11/42] scripts/qmp-shell: ignore visit_Name name, John Snow, 2021/06/07
- [PATCH 09/42] scripts/qmp-shell: declare verbose in __init__, John Snow, 2021/06/07
- [PATCH 14/42] scripts/qmp-shell: fix shell history exception handling,
John Snow <=
- [PATCH 20/42] scripts/qmp-shell: move get_prompt() to prompt property, John Snow, 2021/06/07
- [PATCH 10/42] scripts/qmp-shell: use triple-double-quote docstring style, John Snow, 2021/06/07
- [PATCH 18/42] scripts/qmp-shell: Add pretty attribute to HMP shell, John Snow, 2021/06/07
- [PATCH 15/42] scripts/qmp-shell: remove if-raise-else patterns, John Snow, 2021/06/07
- [PATCH 29/42] scripts/qmp-shell: unprivatize 'pretty' property, John Snow, 2021/06/07
- [PATCH 19/42] scripts/qmp-shell: Make verbose a public attribute, John Snow, 2021/06/07
- [PATCH 25/42] scripts/qmp-shell: initialize completer early, John Snow, 2021/06/07
- [PATCH 27/42] scripts/qmp-shell: add mypy types, John Snow, 2021/06/07
- [PATCH 24/42] scripts/qmp-shell: refactor QMPCompleter, John Snow, 2021/06/07
- [PATCH 16/42] scripts/qmp-shell: use isinstance() instead of type(), John Snow, 2021/06/07