Домашние задания

Домашнее задание 1. Обработка ошибок

  1. Разработайте классы Checked*, выполняющие соответствующие операции с проверкой на переполнения и неверные аргументы.
  2. Добавьте в программу, вычисляющую выражения, обработку ошибок, в том числе:
    • ошибки разбора выражений;
    • ошибки вычисления выражений.
  3. Для выражения 1000000*x*x*x*x*x/(x-1) вывод программы должен иметь следующий вид:
    x       f
    0       0
    1       division by zero
    2       32000000
    3       121500000
    4       341333333
    5       overflow
    6       overflow
    7       overflow
    8       overflow
    9       overflow
    10      overflow
    
    Результат division by zero (overflow) означает, что в процессе вычисления произошло деление на ноль (переполнение).
  4. При выполнении задания следует обратить внимание на дизайн и обработку исключений.
  5. Человеко-читаемые сообщения об ошибках должны выводиться на консоль.
  6. Программа не должна «падать» с исключениями (как стандартными, так и добавленными).
  7. Код должен находиться в пакете expression.exceptions.

Репозиторий курса