Agreed, `rescue ::Exception` is dangerous because it can swallow TimeoutError, Interrupt, NoMethodError, and plenty of others that you really do want to get raised.

Also, the `print_*` lines don't need to be in the begin/rescue