美文网首页
swift最新语法总结(异常处理)

swift最新语法总结(异常处理)

作者: coder_xiang | 来源:发表于2019-03-25 18:19 被阅读0次

异常的介绍

  • 只要我们在编程,就一定要面对错误处理的问题。
  • Swift在设计的时候就尽可能让我们明确感知错误,明确处理错误
  • 比如:只有使用Optional才能处理空值;
    如何描述一个错误?
  • 在Swift里,任何一个遵从ErrorType protocol的类型,都可以用于描述错误。
  • ErrorType是一个空的protocol,它唯一的功能,就是告诉Swift编译器,某个类型用来表示一个错误。
  • 通常,我们使用一个enum来定义各种错误的可能性
  • 异常的示例
    假如我们想要读取一个文件中的内容,按照OC的逻辑我们可以这样来模拟
    当我们调用方法获取结果为nil时,你并不能确定到底参数了什么错误得到了nil
func readFileContent(filePath : String) -> String? {
    // 1.filePath为""
    if filePath == "" {
        return nil
    }

    // 2.filepath有值,但是没有对应的文件
    if filePath != "/User/Desktop/123.plist" {
        return nil
    }

    // 3.取出其中的内容
    return "123"
}

readFileContent("abc")

使用异常对上述方法进行改进

// 1.定义异常
enum FileReadError : ErrorType {
    case FileISNull
    case FileNotFound
}

// 2.改进方法,让方法抛出异常
func readFileContent(filePath : String) throws -> String {
    // 1.filePath为""
    if filePath == "" {

        throw FileReadError.FileISNull
    }

    // 2.filepath有值,但是没有对应的文件
    if filePath != "/User/Desktop/123.plist" {

        throw FileReadError.FileISNull
    }

    // 3.取出其中的内容
    return "123"
}

处理异常有三种方式

// 3.异常的处理三种方式
// 3.1.try方式,需要手动处理异常
do {
    let result = try readFileContent("abc")
} catch {
    print(error)
}

// 3.2.try?方式,不处理异常,如果出现了异常,则返回一个nil.没有异常,则返回对应的值
// 最终返回结果为一个可选类型
let result = try? readFileContent("abc")

// 3.3.try!方法,告诉系统该方法没有异常.
// 注意:如果出现了异常,则程序会崩溃
try! readFileContent("abc")

相关文章

  • Swift最新语法总结

    swift最新语法总结(函数) swift最新语法总结(枚举类型与结构体) swift最新语法总结(类的使用) s...

  • swift最新语法总结(异常处理)

    异常的介绍 只要我们在编程,就一定要面对错误处理的问题。 Swift在设计的时候就尽可能让我们明确感知错误,明确处...

  • 《Python光速入门》(8):异常处理

    主题 异常处理 总结 语法错误(编译器解决)、语义错误(Debugger解决)、运行时错误(捕获异常) 抛出异常抛...

  • 异常处理

    异常处理语法: try: 错误!=异常 ...

  • 第十二章:异常处理

    异常处理语法格式: try: ...处理语句 except 异常类型: ...异常处理语句 pytho...

  • swift异常处理

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

  • Swift-异常处理四种方式

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

  • swift最新语法总结(协议)

    协议的格式 协议的定义方式与类,结构体,枚举的定义都非常相似 遵守协议的格式 协议的基本使用 定义协议和遵守协议 ...

  • swift最新语法总结(函数)

    函数 函数的介绍 函数相当于OC中的方法 函数的格式如下 func是关键字,多个参数列表之间可以用逗号(,)分隔,...

  • SQLite.swift的使用

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

网友评论

      本文标题:swift最新语法总结(异常处理)

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