美文网首页
swift异常

swift异常

作者: 小_黑_屋 | 来源:发表于2018-01-11 16:53 被阅读0次

throws

将异常抛出,交给调用者处理

  • 先定义一个错误信息枚举,继承于 Error
  • 再将异常需要的地方将异常抛出
  • 注:如果有返回值,throws 关键字要写在返回值之前
enum CBToolError : Error{
    case errorOne
    case errorTwo
    
}

static func getName() throws -> String {
    let a = arc4random_uniform(3)
    if a == 0 {
        throw CBToolError.errorOne
    } else if a == 1 {
        throw CBToolError.errorTwo
    }
    return "漫步者"
}

在调用的时候,必须对异常有处理,否则编译中就会报错


do-catch

处理异常

  • 需联合 try 来使用
  • 如果 getName() 没有抛出异常,就走 do 中的内容,抛出了异常,就走对应的 catch 中的内容
static func myTest() {
    do {
        let name = try CBTool.getName()
        print(name)
    } catch CBToolError.errorOne {
        print("错误1")
    } catch CBToolError.errorTwo {
        print("错误2")
    } catch {
        print("其它错误")
    }
}

try?

将值解析为可选(Optional)类型

  • 如果抛出异常,则返回值为 nil
let name = try? getName()
//这里 name 类型为 String?

try!

直接当做不会抛出异常处理,如果出现异常则程序崩溃(非常不建议这么做,这样解析抛异常也就失去意义了)

let name = try! getName()

相关文章

  • swift异常处理

    swift像其他编程语言一样可以抛出异常并处理异常,本文就详细说一下在swift中抛出并处理异常,swift中的一...

  • Swift备忘

    Swift初体验 Swift Tips Swift三种不同的【异常处理方式】 Swift 3.0 private变...

  • swift异常

    throws 将异常抛出,交给调用者处理 先定义一个错误信息枚举,继承于 Error 再将异常需要的地方将异常抛出...

  • Swift - 异常处理

    说明 跟其它语言一样,Swift的异常处理是在程序抛出异常后的处理逻辑。 Swift提供了一流的异常抛出、捕获和处...

  • Swift Day12 错误处理 泛型

    一、错误(异常) 1. Swift 我们定义异常需要怎么做? Swift 中可以通过 Error 协议自定义运行时...

  • 异常捕获

    Swift异常处理的历史由来 Swift1.0版本 Cocoa Touch 的 NSError ,Swift并没有...

  • Swift-异常处理四种方式

    跟其它语言一样,Swift的异常处理是在程序抛出异常后的处理逻辑。 Swift提供了一流的异常抛出、捕获和处理的能...

  • SQLite.swift的使用

    知识储备:swift中异常处理 SQLite.swift这个库中有很多的异常处理,详细了解请点击下面的地址: Sw...

  • Swift - 异常处理

    Swift提供了一流的异常抛出、捕获和处理 能力,跟JAVA语言类似。Swift的异常并不是真正的程序崩溃, 而是...

  • Swift 中的异常抛出和错误处理

    Swift 中的异常抛出和错误处理

网友评论

      本文标题:swift异常

      本文链接:https://www.haomeiwen.com/subject/rkktoxtx.html