一个函数如何抛出多个异常?
例如在Java中,可以像这样实现:
private Int f(Int data, boolean e)
throws AException, BException,
CException {...
谢谢
private Int f(Int data, boolean e)
throws AException, BException,
CException {...
谢谢
该语言不支持此功能,很可能是因为该功能被认为是反模式。但是,通过一些巧妙的方法,您可以创建一个接收错误数组的错误情况:
enum MyError: Error {
case general
case notFound
case invalid
case multiple([MyError])
}
func test() throws {
throw MyError.multiple([.general, .invalid])
}
func f(...) throws
这样的语法,你不需要(也不能!)指定具体会抛出哪些错误。 - Martin R抛出
的错误类型无关。在Swift中,一个可抛出的函数可以抛出符合Error
协议的任何错误类型 - 无法指定可以抛出的特定类型的错误。 - Hamish