try for IO error handle