转发 Swift 中的错误
Forwarding an error in Swift
是否有更好的解决方案将 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
}
因此,要转发错误,我需要捕获所有错误并再次抛出它们。
有没有更好的解决方案?
你不需要捕捉它们它们会在你用 throws
标记你的函数时自动抛出
func func1() throws {
try func2()
}
是:不要将其包装在 do ... catch 块中。
func func2() throws{
// proof something
throw Error.Error1
}
func func1()throws{
try func2()
}
是否有更好的解决方案将 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
}
因此,要转发错误,我需要捕获所有错误并再次抛出它们。
有没有更好的解决方案?
你不需要捕捉它们它们会在你用 throws
func func1() throws {
try func2()
}
是:不要将其包装在 do ... catch 块中。
func func2() throws{
// proof something
throw Error.Error1
}
func func1()throws{
try func2()
}