From b5f0a4c6539af3a37f19a9a96876a0d5b797f80a Mon Sep 17 00:00:00 2001 From: The MMGen Project Date: Fri, 13 Oct 2023 09:51:13 +0000 Subject: [PATCH] InitErrors.init_fail(): cleanups --- mmgen/objmethods.py | 30 ++++++++++++------------------ 1 file changed, 12 insertions(+), 18 deletions(-) diff --git a/mmgen/objmethods.py b/mmgen/objmethods.py index 60688a32..fb3731d1 100755 --- a/mmgen/objmethods.py +++ b/mmgen/objmethods.py @@ -129,26 +129,20 @@ class InitErrors: @classmethod def init_fail(cls,e,m,e2=None,m2=None,objname=None,preformat=False): - if preformat: - errmsg = m - else: - errmsg = '{!r}: value cannot be converted to {} {}({!s})'.format( - m, - (objname or cls.__name__), - (f'({e2!s}) ' if e2 else ''), - e ) - - if m2: - errmsg = repr(m2) + '\n' + errmsg - - from .util import die + def get_errmsg(): + ret = m if preformat else ( + '{!r}: value cannot be converted to {} {}({!s})'.format( + m, + (objname or cls.__name__), + (f'({e2!s}) ' if e2 else ''), + e )) + return f'{m2!r}\n{ret}' if m2 else ret if hasattr(cls,'passthru_excs') and type(e).__name__ in cls.passthru_excs: - raise - elif hasattr(cls,'exc'): - die( cls.exc, errmsg ) - else: - die( 'ObjectInitError', errmsg ) + raise e + + from .util import die + die(getattr(cls,'exc','ObjectInitError'), get_errmsg()) @classmethod def method_not_implemented(cls):