Browse Source

InitErrors.init_fail(): cleanups

The MMGen Project 1 year ago
parent
commit
b5f0a4c653
1 changed files with 11 additions and 17 deletions
  1. 11 17
      mmgen/objmethods.py

+ 11 - 17
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 )
+		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 m2:
-			errmsg = repr(m2) + '\n' + errmsg
+		if hasattr(cls,'passthru_excs') and type(e).__name__ in cls.passthru_excs:
+			raise e
 
 		from .util import die
-
-		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 )
+		die(getattr(cls,'exc','ObjectInitError'), get_errmsg())
 
 	@classmethod
 	def method_not_implemented(cls):