can we catch Throwable here instead?