[Exceptions are not very common in Objective-C](http://stackoverflow.com/a/324805/485528), especially in cases like this.

Instead we could switch on the returned NSError which is way more Objective-C like.