有没有更好的解决方案将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
}
因此,为了转发错误,我需要捕获所有错误并再次抛出它们。
有更好的解决方案吗?
答案 0 :(得分:4)
是:不要将它包装在do ... catch块中。
func func2() throws{
// proof something
throw Error.Error1
}
func func1()throws{
try func2()
}
答案 1 :(得分:1)
您不需要抓住它们,当您使用throws
func func1() throws {
try func2()
}