По следам хитрожопого жука пойдем дальше по цифрам.
Не все это знают, но в Swift деление целых чисел на 0 приводит к крашу приложения.
Почему именно краш?
При делении Int на 0 Swift делает аппаратный trap: операция «деление на ноль» для целых считается недопустимой, процесс получает фатальное исключение от процессора/ОС и аварийно завершается.
Это особенно опасно когда:
- расчитываешь размеры вручную
- считаешь денюжки
- работаешь с числами
Особенно это часто надо ловить на код ревью. Не все анализаторы и чекеры это находят.
Полезные статьи:
🟣дока от Apple Division by zero
🟣Where is the implementation of `dividedReportingOverflow`?
🟣Тред на реддите
