@angelica.glover 
В вашем коде блок rescue не отлавливает ошибку, потому что вы указали перехват исключений только для типа TypeError, тогда как при выполнении операции 1 / 0 в Ruby возникает исключение типа ZeroDivisionError.
Чтобы корректно отловить это исключение, необходимо либо указать ZeroDivisionError в блоке rescue, либо использовать более общий класс исключений, например, StandardError, который отлавливает большинство стандартных ошибок. Вот как можно изменить ваш код:
1 2 3 4 5  | 
begin 1 / 0 rescue ZeroDivisionError => e puts e.message end  | 
Или, если вы хотите отловить все стандартные ошибки:
1 2 3 4 5  | 
begin 1 / 0 rescue StandardError => e puts e.message end  | 
Либо вовсе можно использовать rescue без указания конкретного типа ошибки, чтобы перехватывать любые стандартные исключения:
1 2 3 4 5  | 
begin 1 / 0 rescue => e puts e.message end  | 
Любой из этих способов позволит вам корректно обработать ошибку деления на ноль.