performance: rethrow exceptions properly