这是我目前的代码
class HelloWorld {
func foobar() {
// ...
}
}
如果该函数在被调用和出现意外情况时抛出异常,该怎么办?
答案 0 :(得分:11)
根据Swift文档:
中有关于此主题的大量信息投掷错误
要指示函数或方法可以抛出错误,请编写 在其声明中的throws关键字,在其参数之后。如果它 指定一个返回类型,你在之前写下throws关键字 返回箭头( - >)。函数,方法或闭包不能抛出 错误,除非明确指出。
错误是使用枚举表示的,因此您需要通过枚举创建一些错误,然后使用throw
关键字来执行此操作。
示例:强>
enum MyError: ErrorType{
case FooError
}
func foobar() throws{
throw MyError.FooError
}
答案 1 :(得分:7)
首先,您可以创建包含错误的枚举,并实现ErrorType
协议
enum MyError: ErrorType{
case Null
case DivisionByZero
}
然后,您可以使用throw
throw MyError.DivisionByZero
因此,除法函数可能看起来像这样
func divide(x: Int, y: Int) throws -> Float{
if(y == 0){
throw MyError.DivisionByZero
}
else{
return x / y
}
}