Could let the error pass through so users know what went wrong.  Would allow removing some of the extra defensive code below.