throw exception rather than swallowing it.