handle more exceptions for failure