7

Я инициализирую AVCaptureDeviceInput. В Swift 2 вместо получения переменной NSError вы поймаете ошибку с помощью бутерброда do-try-catch. Однако я не вижу, как получить NSError внутри части catch. Рекомендация on Apple's developer forum не указывает, как вы можете получить доступ к NSError.В Swift 2.1, как вы получаете NSError, который был брошен?

Может кто-нибудь просветить меня?

ответ

21

Это работает для меня:

var error: NSError? 

     do { 
      request.HTTPBody = try NSJSONSerialization.dataWithJSONObject(jsonString, options: []) 
     } catch let error1 as NSError { 
      error = error1 
      request.HTTPBody = nil 
     } 

Надеется, что это будет полезно

+2

Я сделал это кучей раз, и это по-прежнему трудно вспомнить ... Такой неуклюжий синтаксис, IMO – elsurudo

+1

Это только один из тех, которые вы добавляете к своим фрагментам автозаполнения в XCode, потому что иначе вы просто собираетесь вернуться прямо здесь: D – CommaToast

+0

@Karlos, почему вы назначаете 'nil'' request.HTTPBody'? – bibscy