Menu
Coddy logo textTech

Обработка ошибок преобразования

Часть раздела Основы путешествия по Dart на Coddy — урок 86 из 94.

Метод tryParse безопасно преобразует строки в числа, возвращая null вместо выбрасывания ошибки при неудаче преобразования.

Используйте tryParse вместо parse для более безопасного преобразования:

String validNumber = "42";
int? result = int.tryParse(validNumber);
print(result);

После выполнения приведённого выше кода вывод будет:

42

Когда преобразование не удается, tryParse возвращает null:

String invalidNumber = "hello";
int? result = int.tryParse(invalidNumber);
print(result);

После выполнения вышеприведённого кода вывод будет:

null
challenge icon

Задание

Новичок

В этом вызове вы попрактикуетесь в использовании tryParse для безопасного преобразования строк в числа. Метод tryParse возвращает null, если преобразование не удалось, вместо того чтобы вызывать ошибку, как это делает parse.

Завершите код, чтобы преобразовать строку userInput в целое число с использованием int.tryParse(). Если преобразование успешно, сохраните результат в userAge. Если преобразование не удалось (возвращает null), используйте возраст по умолчанию 0.

Ожидаемый вывод для текущего ввода:

Invalid age input. Using default age: 0

Шпаргалка

Метод tryParse безопасно преобразует строки в числа, возвращая null вместо выбрасывания ошибки при неудаче преобразования.

Используйте tryParse для безопасного преобразования строки в число:

String validNumber = "42";
int? result = int.tryParse(validNumber);
print(result); // Output: 42

При неудаче преобразования tryParse возвращает null:

String invalidNumber = "hello";
int? result = int.tryParse(invalidNumber);
print(result); // Output: null

Попробуйте сами

void main() {
  // Эта строка уже определена для вас
  String userInput = 'twenty five';
  
  // TODO: Попробуйте преобразовать userInput в целое число с помощью int.tryParse()
  // Если успешно, сохраните результат в userAge
  // Если преобразование не удалось (возвращает null), используйте возраст по умолчанию 0
  int userAge = 0;
  
  // Отобразите результат
  if (userInput == 'twenty five') {
    print('Invalid age input. Using default age: $userAge');
  } else {
    print('Valid age input: $userAge');
  }
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы