como lançar erros em um fechamento em rápida?

Por favor, observe o seguinte código:

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
}

a mensagem de erro do Xcode é: Conversão inválida da função de arremesso do tipo '(UITableViewRowAction, NSIndexPath) lança -> Vazio' para o tipo de função de não arremesso '(UITableViewRowAction, NSIndexPath) -> Vazio'

Eu sei que o problema é managedObjectContext.save () lançará erros e isso não é permitido no manipulador de conclusão. Encontrei alguns artigos de blog em que eles modificaram os parâmetros de fechamento para tornar viável a manipulação de erros em um fechamento. Enquanto aqui a definição da função é dada pela apple, como posso corrigir esse problema? Muito obrigado! : D

questionAnswers(2)

yourAnswerToTheQuestion