I think `make_badge_data` should catch the exception and deliver some sort of message and the view function can decide what to do from there. This seems to be more right as what if we change the badge service so there are new types of exceptions or we change the exceptions that are thrown? I'd want the view function to be agnostic to the type of exception being thrown; it should just know when something abnormal happens and act on that information.