I just tried to play Diablo 3, but could not log on due to server maintenance. Blizzard requires you to be always online to play even single player campaigns. I’ve seen a lot of people rage about this, but Blizzard actually has very good reasons to do this. And they even kept you, as a player, in mind!
First of all, what Blizzard is doing is not really DRM.
Digital Rights Management is making sure you have authorization (from the providing party) to do something off-line.
Exceptions happen. There’s no way around that. But not all exceptions are created equally.
For instance, a 404 “Not found” error can (and should) be handled correctly in your application.
Let me give you an example of how to handle a ActiveRecord::RecordNotFound exception. Let’s assume you have an application that could show a user profile:
# GET /p/:name def show @profile = Profile.find(params[:name]) end Now, it may happen that the :name paramater contains a value that cannot be found in our database, most likely because someone made a typo in the URL.