Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Swift 2: Invalid conversion from throwing function of type to non-throwing function

I have some (ugly) self-written code ported to Swift2 and got this error message in a lambda function:

function with error

What I didn't understand is, that I handle the whole code with the error throwing function JSONObjectWithData and catch the error. I throw nothing in the code. Nevertheless the compiler means that I am throwing an error.

I need to understand this behavior. Please be kind because I know that I have to improve my code to make full use of the new error handling concept in swift2.

Thank you very much in advance.

like image 855
ChaosSpeeder Avatar asked Jun 14 '15 06:06

ChaosSpeeder


1 Answers

This was fast. I have figured the solution for my problem out with a little help of this article:

http://www.hackingwithswift.com/new-syntax-swift-2-error-handling-try-catch

you have to put a general catch clause at the end of the code because the catch of NSError alone is not sufficient.

catch let error as NSError
{
   failure(error: error)
   return
}

// this is important -->
catch
{
}
like image 85
ChaosSpeeder Avatar answered Sep 18 '22 14:09

ChaosSpeeder