added a substantial trycatch to require_a