@@ -141,13 +141,16 @@ function tryparse_internal(::Type{Bool}, sbuff::Union{String,SubString},
141141 Nullable {Bool} ()
142142end
143143
144- function tryparse {T<:Integer} (:: Type{T} , s:: AbstractString , base:: Integer = 0 )
145- return tryparse_internal (T, s, start (s), endof (s), base, false )
146- end
147-
148- function parse {T<:Integer} (:: Type{T} , s:: AbstractString , base:: Integer = 0 )
149- return get (tryparse_internal (T, s, start (s), endof (s), base, true ))
150- end
144+ check_valid_base (base) = 2 <= base <= 62 ? base :
145+ throw (ArgumentError (" invalid base: base must be 2 ≤ base ≤ 62, got $base " ))
146+ tryparse {T<:Integer} (:: Type{T} , s:: AbstractString , base:: Integer ) =
147+ tryparse_internal (T, s, start (s), endof (s), check_valid_base (base), false )
148+ tryparse {T<:Integer} (:: Type{T} , s:: AbstractString ) =
149+ tryparse_internal (T, s, start (s), endof (s), 0 , false )
150+ parse {T<:Integer} (:: Type{T} , s:: AbstractString , base:: Integer ) =
151+ get (tryparse_internal (T, s, start (s), endof (s), check_valid_base (base), true ))
152+ parse {T<:Integer} (:: Type{T} , s:: AbstractString ) =
153+ get (tryparse_internal (T, s, start (s), endof (s), 0 , true ))
151154
152155# # string to float functions ##
153156
0 commit comments