prefer handling error to ignoring exception