Деление на ноль в Dart
Поведение зависит от оператора и типа операндов.
Оператор / с double на ноль не
останавливает программу: получается бесконечность.
Операторы ~/ и % с нулем в делителе
останавливают программу с ошибкой.
Дробное деление на ноль дает Infinity:
print(7.0 / 0.0); // Infinity
Целочисленное деление с нулем в делителе не дает результата:
print(7 ~/ 0); // программа останавливается
Остаток от деления на ноль ведет себя так же:
print(7 % 0); // программа останавливается
Между двумя int оператор / тоже
дает double, поэтому 7 / 0
приводит к бесконечности, а не к ошибке:
print(7 / 0); // Infinity
Дан следующий код:
var val = 10;
print(val ~/ 0);
Скажите, завершится ли программа с ошибкой.