I'm somewhat torn here on what the right response to a missing template is. I'd generally say that using an exception for this type of error is the right choice, but my concern is that since the 404 exception can be raised implicitly wherever there is an object access nobody is going to catch this exception and so it's likely to leak out to the user. On the other hand, it's the kind of thing that should be caught pretty fast by unit tests.

An alternative option would be to return some default page, and log an error. That way the user would never see an exception page, and we could be sure that the admin would get the message.