Обработка ошибок преобразования
Часть раздела Основы путешествия по 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Задание
НовичокВ этом задании ты потренируешься безопасно преобразовывать строки в числа с помощью tryParse. Метод tryParse возвращает null, если преобразование не удаётся, вместо того чтобы вызывать ошибку, как это делает parse.
Дополни код, чтобы преобразовать строку userInput в целое число с помощью int.tryParse(). Если преобразование прошло успешно, сохрани результат в userAge. Если преобразование не удалось (возвращается null), используй возраст по умолчанию — 0.
Ожидаемый вывод для текущего ввода:
Invalid age input. Using default age: 0Попробуйте сами
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');
}
}В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы. Часть 2
Операторы сравненияЛогическое ИЛогическое ИЛИЛогическое НЕОператоры проверки типаПовторение — сравнения7Работа со строками
Конкатенация строкИнтерполяция строкМногострочные строкиСвойства строкОсновные методы строк10Коллекции — основы Map
Что такое Map?Создание MapДоступ к значениям по ключуПары «ключ—значение»Получение размера MapПолучение ключейПолучение значенийПроверка наличия ключа13Подробно о безопасности при работе с null
Понимание nullТипы, допускающие nullТипы, не допускающие nullОператор утверждения о ненулевом значенииПоздняя инициализацияПовторение — безопасная обработка null2Переменные и базовые типы данных
Что такое переменные?СтрокиЦелые числа (int)Числа с плавающей точкой (double)Логические значения (bool)Вывод типа с помощью «var»Переменные finalКонстантные переменныеСоглашения об именованииОсновы безопасности при работе с nullПовторение — объявление переменных8Управление потоком — циклы
Цикл «for»Цикл «while»Цикл «do-while»Использование «break» в циклахИспользование «continue» в циклахПовторение — повторение кода11Основы функций
Что такое функции?Определение простой функцииВызов функцииФункции с параметрамиФункции, возвращающие значенияКлючевое слово «void»Стрелочный синтаксисПовторение: простые функции14Преобразование типов
Преобразование строки в intПреобразование строки в doubleПреобразование чисел в строкуОбработка ошибок преобразования3Операторы, часть 1
Арифметические операторыЦелочисленное делениеОператор остатка от деленияИнкремент и декрементСокращённая запись присваиванияПовторение — простые вычисления6Поток управления — принятие решений
Оператор «if»Оператор «else»Оператор «else if»Повторение — простые решенияВложенные операторы «if»Оператор «switch»9Коллекции — основы списков
Что такое списки?Создание спискаДоступ по индексуПолучение длины спискаДобавление элементовУдаление элементовПроверка, пуст ли списокПеребор списка12Продвинутые функции
Необязательные позиционные параметрыИменованные параметрыОбязательные именованные параметрыЗначения параметров по умолчаниюПовторение — параметры функций15Проект: простой калькулятор
НастройкаОбъявление числаПотренируйтесь самостоятельно: Онлайн-компилятор Dart