description

# parse method Null safety

num parse (

1. String input,
2. [@deprecated num onError(
   1. String input
   )]

)

Parses a string containing a number literal into a number.

The method first tries to read the `input` as integer (similar to int.parse without a radix). If that fails, it tries to parse the `input` as a double (similar to double.parse). If that fails, too, it invokes `onError` with `input`, and the result of that invocation becomes the result of calling `parse`.

If no `onError` is supplied, it defaults to a function that throws a FormatException.

For any number `n`, this function satisfies `identical(n, num.parse(n.toString()))` (except when `n` is a NaN `double` with a payload).

The `onError` parameter is deprecated and will be removed. Instead of `num.parse(string, (string) { ... })`, you should use `num.tryParse(string) ?? (...)`.

## Implementation

    static num parse(String input, [@deprecated num onError(String input)?]) {
      num? result = tryParse(input);
      if (result != null) return result;
      if (onError == null) throw FormatException(input);
      return onError(input);
    }