[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 41/72] scripts/qmp-shell: fix shell history exception handling
From: |
John Snow |
Subject: |
[PATCH v2 41/72] scripts/qmp-shell: fix shell history exception handling |
Date: |
Tue, 3 Nov 2020 19:35:31 -0500 |
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 2fd677e3dabd..6ad9384c1804 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
@@ -163,19 +162,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.26.2
- [PATCH v2 35/72] scripts/qmp-shell: Use python3-style super(), (continued)
- [PATCH v2 35/72] scripts/qmp-shell: Use python3-style super(), John Snow, 2020/11/03
- [PATCH v2 34/72] scripts/qmp-shell: use @classmethod where appropriate, John Snow, 2020/11/03
- [PATCH v2 40/72] scripts/qmp-shell: rename one and two-letter variables, John Snow, 2020/11/03
- [PATCH v2 24/72] scripts/qmp/qemu-ga-client: add mypy type hints, John Snow, 2020/11/03
- [PATCH v2 33/72] scripts/qmp-shell: remove shadowed variable from _print(), John Snow, 2020/11/03
- [PATCH v2 36/72] scripts/qmp-shell: declare verbose in __init__, John Snow, 2020/11/03
- [PATCH v2 39/72] scripts/qmp-shell: make QMPCompleter returns explicit, John Snow, 2020/11/03
- [PATCH v2 42/72] scripts/qmp-shell: explicitly chain exception context, John Snow, 2020/11/03
- [PATCH v2 37/72] scripts/qmp-shell: use triple-double-quote docstring style, John Snow, 2020/11/03
- [PATCH v2 43/72] scripts/qmp-shell: remove if-raise-else patterns, John Snow, 2020/11/03
- [PATCH v2 41/72] scripts/qmp-shell: fix shell history exception handling,
John Snow <=
- [PATCH v2 44/72] scripts/qmp-shell: use isinstance() instead of type(), John Snow, 2020/11/03
- [PATCH v2 45/72] scripts/qmp-shell: use argparse, John Snow, 2020/11/03
- [PATCH v2 46/72] python/qmp: Fix type of SocketAddrT, John Snow, 2020/11/03
- [PATCH v2 38/72] scripts/qmp-shell: ignore visit_Name name, John Snow, 2020/11/03
- [PATCH v2 47/72] python/qmp: add parse_address classmethod, John Snow, 2020/11/03
- [PATCH v2 48/72] scripts/qmp-shell: Add pretty attribute to HMP shell, John Snow, 2020/11/03
- [PATCH v2 49/72] scripts/qmp-shell: Make verbose a public attribute, John Snow, 2020/11/03
- [PATCH v2 50/72] scripts/qmp-shell: move get_prompt() to prompt property, John Snow, 2020/11/03
- [PATCH v2 51/72] scripts/qmp-shell: remove prompt argument from read_exec_command, John Snow, 2020/11/03
- [PATCH v2 52/72] scripts/qmp-shell: move the REPL functionality into QMPShell, John Snow, 2020/11/03