finish exception and io