有更好的解决方案将Swift错误从一个函数转发到另一个函数吗?
此刻,我正在这样做:
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
}
因此,要转发错误,我需要捕获所有错误并再次抛出它们。
有更好的解决方案吗?
最佳答案
是的:不要将其包装在do ... catch块中。
func func2() throws{
// proof something
throw Error.Error1
}
func func1()throws{
try func2()
}