Merge pull request #872 from freqtrade/feature/improve-error-handling

improve error handling
This commit is contained in:
Michael Egger 2018-06-08 22:43:37 +02:00 committed by GitHub
commit 73c5f0ec90
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 8 additions and 14 deletions

View File

@ -61,11 +61,9 @@ class Configuration(object):
with open(path) as file: with open(path) as file:
conf = json.load(file) conf = json.load(file)
except FileNotFoundError: except FileNotFoundError:
logger.critical( raise OperationalException(
'Config file "%s" not found. Please create your config file', 'Config file "{}" not found!'
path ' Please create a config file or check whether it exists.'.format(path))
)
exit(0)
if 'internals' not in conf: if 'internals' not in conf:
conf['internals'] = {} conf['internals'] = {}

View File

@ -277,7 +277,7 @@ def get_ticker(pair: str, refresh: Optional[bool] = True) -> dict:
'bid': float(data['bid']), 'bid': float(data['bid']),
'ask': float(data['ask']), 'ask': float(data['ask']),
} }
except KeyError as e: except KeyError:
logger.debug("Could not cache ticker data for %s", pair) logger.debug("Could not cache ticker data for %s", pair)
return data return data
except (ccxt.NetworkError, ccxt.ExchangeError) as e: except (ccxt.NetworkError, ccxt.ExchangeError) as e:

View File

@ -85,7 +85,7 @@ def test_load_config_max_open_trades_zero(default_conf, mocker, caplog) -> None:
assert log_has('Validating configuration ...', caplog.record_tuples) assert log_has('Validating configuration ...', caplog.record_tuples)
def test_load_config_file_exception(mocker, caplog) -> None: def test_load_config_file_exception(mocker) -> None:
""" """
Test Configuration._load_config_file() method Test Configuration._load_config_file() method
""" """
@ -95,12 +95,8 @@ def test_load_config_file_exception(mocker, caplog) -> None:
) )
configuration = Configuration(Namespace()) configuration = Configuration(Namespace())
with pytest.raises(SystemExit): with pytest.raises(OperationalException, match=r'.*Config file "somefile" not found!*'):
configuration._load_config_file('somefile') configuration._load_config_file('somefile')
assert log_has(
'Config file "somefile" not found. Please create your config file',
caplog.record_tuples
)
def test_load_config(default_conf, mocker) -> None: def test_load_config(default_conf, mocker) -> None:

View File

@ -93,7 +93,7 @@ def plot_profit(args: Namespace) -> None:
'Impossible to load the strategy. Please check the file "user_data/strategies/%s.py"', 'Impossible to load the strategy. Please check the file "user_data/strategies/%s.py"',
config.get('strategy') config.get('strategy')
) )
exit(0) exit(1)
# Load the profits results # Load the profits results
try: try:
@ -104,7 +104,7 @@ def plot_profit(args: Namespace) -> None:
logger.critical( logger.critical(
'File "backtest-result.json" not found. This script require backtesting ' 'File "backtest-result.json" not found. This script require backtesting '
'results to run.\nPlease run a backtesting with the parameter --export.') 'results to run.\nPlease run a backtesting with the parameter --export.')
exit(0) exit(1)
# Take pairs from the cli otherwise switch to the pair in the config file # Take pairs from the cli otherwise switch to the pair in the config file
if args.pair: if args.pair: