Cocoa never throws exceptions, check for null and throw for them