如何生成Swift 2函数抛出异常
这是我目前的代码如何生成Swift 2函数抛出异常,swift,error-handling,try-catch,swift2,Swift,Error Handling,Try Catch,Swift2,这是我目前的代码 class HelloWorld { func foobar() { // ... } } 如何使此函数在调用时引发异常,并发生意外情况?首先,您可以创建包含错误的枚举,并实现ErrorType协议 enum MyError: ErrorType{ case Null case DivisionByZero } 然后,您可以使用throw throw MyError.DivisionByZero 除法函数可以是这样的 fun
class HelloWorld {
func foobar() {
// ...
}
}
如何使此函数在调用时引发异常,并发生意外情况?首先,您可以创建包含错误的枚举,并实现
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
}
}
根据Swift文件: 投掷错误 要指示函数或方法可能引发错误,请编写 关键字在其声明中的参数后抛出。如果是 指定返回类型时,在 返回箭头(->)。函数、方法或闭包不能抛出 错误,除非明确指出 这里有大量关于这个话题的信息 错误是使用枚举表示的,因此请通过枚举创建一些您想要的错误,然后使用
throw
关键字执行此操作
示例:
enum MyError: ErrorType{
case FooError
}
func foobar() throws{
throw MyError.FooError
}
这些文件很有用。在发布问题之前,您应该先看一看。如何使用
docatch
方法调用此函数?例如checkisValidIntValue(x:10,y:20);func checkisValidIntValue(x:Int,y:Int)抛出{guard x>0 else{throw some.Error}let value=try?divide(x:x,y:y)/…在这里,当获得成功值并希望抛出失败值时,该怎么办?否则在同一函数中使用ouptu值执行操作}