Инженерный калькулятор · Шаг 8 из 10
Слова вместо падения
Ошибки в калькуляторе бывают двух сортов. Одни — от человека: забыл скобку, поделил на ноль, возвёл в тысячную степень. О них надо сказать словами. Другие — от программиста, ошибки в самом коде: их прятать нельзя, иначе их никто никогда не найдёт.
Что сделать
По пойманному исключению решите, что сказать человеку, — или признайте, что это ошибка в коде, а не в выражении.
Что приходит
oshibka— пойманное исключение, объект
Что вернуть
Текст для экрана; исключение не из ожидаемых — None.
Допишите функцию slovami в редакторе справа.
Результат верните через return — то, что
напечатано, на проверку не влияет.
В проекте
Окно и текстовый режим ловят исключение на «=» и спрашивают slovami, что показать. None — и исключение летит дальше, с трассировкой: это ошибка в коде шага, её надо видеть.
slovami(ZeroDivisionError("division by zero")) — "Деление на ноль": английский текст Python человеку не показываем.
slovami(ZeroDivisionError("division by zero"))
'Деление на ноль'
ZeroDivisionError—"Деление на ноль";OverflowError—"Слишком большое число";RecursionError—"Слишком глубоко вложены скобки";ValueError— его собственный текст с заглавной первой буквой (остальные буквы — как были: «не знаю, что такое «X»» — «Не знаю, что такое «X»»);- любое другое исключение —
None.
Наследников считать своими: исключение, унаследованное от ValueError, — тоже ValueError.
Обсуждение
Вопросов пока нет.
Войдите, чтобы спросить.