Is there a better solution to forward a Swift error from one function to another?
In the moment, I'm doing it like this:
enum Error:ErrorType{
case Error1
case Error2
}
func func1()throws{
do{
try func2()
}catch Error.Error1{
throw Error.Error1
}catch Error.Error2{
throw Error.Error2
}
}
func func2()throws{
// proof something
throw Error.Error1
}
So, to forward an error, I need to catch all the errors and throw them again.
Is there a better solution?
Yes: don't wrap it in a do ... catch block.
You don't need to catch them they will be thrown automatically as you marked your function with
throws