catch some exceptions during GUI init

This commit is contained in:
SomberNight 2018-02-15 17:30:40 +01:00
parent 6b09d478a5
commit fe1e412f01
2 changed files with 17 additions and 3 deletions

View File

@ -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()

View File

@ -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