catches more exceptions