Currently some of them assert, some of them fail more gracefully. This needs to be unified with the new Swift 2 error handling system.