handle io error