Improve exception handling on critical errors
This commit is contained in:
parent
5b92387732
commit
c560de4111
@ -18,6 +18,9 @@ def start_trading(args: Dict[str, Any]) -> int:
|
|||||||
try:
|
try:
|
||||||
worker = Worker(args)
|
worker = Worker(args)
|
||||||
worker.run()
|
worker.run()
|
||||||
|
except Exception as e:
|
||||||
|
logger.error(str(e))
|
||||||
|
logger.exception("Fatal exception!")
|
||||||
except KeyboardInterrupt:
|
except KeyboardInterrupt:
|
||||||
logger.info('SIGINT received, aborting ...')
|
logger.info('SIGINT received, aborting ...')
|
||||||
finally:
|
finally:
|
||||||
|
@ -32,7 +32,7 @@ def test_setup_utils_configuration():
|
|||||||
assert config['exchange']['secret'] == ''
|
assert config['exchange']['secret'] == ''
|
||||||
|
|
||||||
|
|
||||||
def test_start_trading_fail(mocker):
|
def test_start_trading_fail(mocker, caplog):
|
||||||
|
|
||||||
mocker.patch("freqtrade.worker.Worker.run", MagicMock(side_effect=OperationalException))
|
mocker.patch("freqtrade.worker.Worker.run", MagicMock(side_effect=OperationalException))
|
||||||
|
|
||||||
@ -43,16 +43,15 @@ def test_start_trading_fail(mocker):
|
|||||||
'trade',
|
'trade',
|
||||||
'-c', 'config.json.example'
|
'-c', 'config.json.example'
|
||||||
]
|
]
|
||||||
with pytest.raises(OperationalException):
|
|
||||||
start_trading(get_args(args))
|
start_trading(get_args(args))
|
||||||
assert exitmock.call_count == 1
|
assert exitmock.call_count == 1
|
||||||
|
|
||||||
exitmock.reset_mock()
|
exitmock.reset_mock()
|
||||||
|
caplog.clear()
|
||||||
mocker.patch("freqtrade.worker.Worker.__init__", MagicMock(side_effect=OperationalException))
|
mocker.patch("freqtrade.worker.Worker.__init__", MagicMock(side_effect=OperationalException))
|
||||||
with pytest.raises(OperationalException):
|
|
||||||
start_trading(get_args(args))
|
start_trading(get_args(args))
|
||||||
assert exitmock.call_count == 0
|
assert exitmock.call_count == 0
|
||||||
|
assert log_has('Fatal exception!', caplog)
|
||||||
|
|
||||||
|
|
||||||
def test_list_exchanges(capsys):
|
def test_list_exchanges(capsys):
|
||||||
|
Loading…
Reference in New Issue
Block a user