we shouldn't handle a general exception, something like IO exception or network exception will be better.