как закидывать ошибки в замыкание в swift?

Пожалуйста, посмотрите на следующий код:

override func tableView(tableView: UITableView, editActionsForRowAtIndexPath indexPath: NSIndexPath) -> [UITableViewRowAction]? {

   let deleteAction = UITableViewRowAction(style: UITableViewRowActionStyle.Default, title: "Delete", handler: {
        (action : UITableViewRowAction, indexPath : NSIndexPath)  -> Void  in

        if let managedObjectContext = (UIApplication.sharedApplication().delegate as! AppDelegate).managedObjectContext{
            let restaurantToDelete = self.fetchResultController.objectAtIndexPath(indexPath) as! Restaurant
            managedObjectContext.deleteObject(restaurantToDelete)

            // Saving managedObjectContext instance, and catch errors if it fails
            do {
                try managedObjectContext.save()
            } catch let error as NSError {
                print("Error: \(error.localizedDescription)")
            }

        }

    })
    return deleteAction
}

сообщение об ошибке из Xcode выглядит следующим образом: Неверное преобразование из функции выброса типа '(UITableViewRowAction, NSIndexPath) throws -> Void' в тип функции без выброса '(UITableViewRowAction, NSIndexPath) -> Void'

Я знаю, что проблема в managedObjectContext.save () будет выдавать ошибки, и это не разрешено в обработчике завершения. Я нашел несколько статей в блоге, где они изменили параметры замыкания, чтобы сделать обработку ошибок в замыкании работоспособной. Хотя здесь определение функции дано Apple, так как я могу исправить эту проблему? Большое спасибо! : D

Ответы на вопрос(2)

Ваш ответ на вопрос