Quellcode durchsuchen

Change errors for bignums to be more explicit

Co-Authored-By: Stephan Renatus <srenatus@chef.io>
pull/184/head
Paul J. Davis vor 6 Jahren
Ursprung
Commit
496d7f0ccd
2 geänderte Dateien mit 14 neuen und 2 gelöschten Zeilen
  1. +12
    -2
      src/jiffy.erl
  2. +2
    -0
      test/jiffy_03_number_tests.erl

+ 12
- 2
src/jiffy.erl Datei anzeigen

@ -119,9 +119,19 @@ finish_decode({bignum_e, Value}) ->
{E, []} = string:to_integer(ExpStr),
{I, E}
end,
IVal * math:pow(10, EVal);
try
IVal * math:pow(10, EVal)
catch
error:badarith ->
error({range, EVal})
end;
finish_decode({bigdbl, Value}) ->
list_to_float(binary_to_list(Value));
try
list_to_float(binary_to_list(Value))
catch
error:badarg ->
error({range, Value})
end;
finish_decode({Pairs}) when is_list(Pairs) ->
finish_decode_obj(Pairs, []);
finish_decode(Vals) when is_list(Vals) ->

+ 2
- 0
test/jiffy_03_number_tests.erl Datei anzeigen

@ -98,6 +98,8 @@ cases(error) ->
<<"1E">>,
<<"1-E2">>,
<<"2E +3">>,
<<"1E3000">>,
<<"0.1E30000">>,
<<"1EA">>
];

Laden…
Abbrechen
Speichern