commit fe1e412f010f410c266c0f73dab64c3ab0488348
parent 6b09d478a5d29dbae5181c61dabcfd7c2efd0bc2
Author: SomberNight <somber.night@protonmail.com>
Date: Thu, 15 Feb 2018 17:30:40 +0100
catch some exceptions during GUI init
Diffstat:
2 files changed, 17 insertions(+), 3 deletions(-)
diff --git a/gui/qt/__init__.py b/gui/qt/__init__.py
@@ -195,7 +195,8 @@ class ElectrumGui:
wallet = self.daemon.load_wallet(path, None)
except BaseException as e:
traceback.print_exc(file=sys.stdout)
- d = QMessageBox(QMessageBox.Warning, _('Error'), 'Cannot load wallet:\n' + str(e))
+ d = QMessageBox(QMessageBox.Warning, _('Error'),
+ _('Cannot load wallet:') + '\n' + str(e))
d.exec_()
return
if not wallet:
@@ -212,7 +213,14 @@ class ElectrumGui:
return
wallet.start_threads(self.daemon.network)
self.daemon.add_wallet(wallet)
- w = self.create_window_for_wallet(wallet)
+ try:
+ w = self.create_window_for_wallet(wallet)
+ except BaseException as e:
+ traceback.print_exc(file=sys.stdout)
+ d = QMessageBox(QMessageBox.Warning, _('Error'),
+ _('Cannot create window for wallet:') + '\n' + str(e))
+ d.exec_()
+ return
if uri:
w.pay_to_URI(uri)
w.bring_to_top()
diff --git a/lib/daemon.py b/lib/daemon.py
@@ -25,6 +25,8 @@
import ast
import os
import time
+import traceback
+import sys
# from jsonrpc import JSONRPCResponseManager
import jsonrpclib
@@ -300,4 +302,8 @@ class Daemon(DaemonThread):
gui_name = 'qt'
gui = __import__('electrum_gui.' + gui_name, fromlist=['electrum_gui'])
self.gui = gui.ElectrumGui(config, self, plugins)
- self.gui.main()
+ try:
+ self.gui.main()
+ except BaseException as e:
+ traceback.print_exc(file=sys.stdout)
+ # app will exit now