美文网首页
swift5基本语法-Error错误处理/异常处理

swift5基本语法-Error错误处理/异常处理

作者: 翀鹰精灵 | 来源:发表于2021-09-25 22:18 被阅读0次

Swift中可以通过Error协议自定义错误信息

例如下面这种错误场景:

01.png

可以通过自定义Error错误信息来抛出异常,Error信息可以定义为枚举结构体三种形式,用法如下所示:

class ClassError: Error {
    var msg : String
    init(msg: String) {
        self.msg = msg
    }
}

enum EnumError : Error {
    case msg(String)
    case outOfBounds(Int , Int)
    case outOfMemory
    // ......
}

struct StructError: Error {
    var msg : String
}


class ViewController: UIViewController {
    
    override func viewDidLoad() {
        super.viewDidLoad()
        var result = try? divide(20, 0)
        print(result)
        func divide(_ num1: Int, _ num2: Int) throws -> Int {
            if num2 == 0 {
                throw ClassError.init(msg: "0不能作为除数")
                // throw EnumError.msg("0不能作为除数")
                // throw StructError(msg: "0不能作为除数")
            }
            return num1 / num2
        }


      // func test() {
      //     do {
      //         let result = try divide(20, 0)
      //         print(result)
      //     } catch let EnumError.msg(errorMsg) {
      //         print("0不能作为除数\(errorMsg)")
      //     } catch let EnumError.outOfBounds(size, index) {
      //         print("下标越界\(size) \(index)")
      //     } catch EnumError.outOfMemory {
      //         print("内存溢出")
      //     } catch {
      //         print("其它错误")
      //     }
      // }
     
    }
}

如果分母传入0,则会出现下列错误:

02.png
  • try! : 如果发生错误, 程序会崩溃. 不推荐使用,此时对于这种崩溃,我们可以使用 do-catch 来捕捉,用法如下所示:

do-catch 用法一:

03.png

do-catch 用法二:

04.png

do-catch 用法三:

05.png

END!

相关文章

  • swift5基本语法-Error错误处理/异常处理

    Swift中可以通过Error协议自定义错误信息 例如下面这种错误场景: 可以通过自定义Error错误信息来抛出异...

  • Go编写好的错误处理

    编写好的错误处理 Go的错误机制: 没有异常机制 error 类型实现了 error 接口type error i...

  • [swift 进阶]读书笔记-第八章:错误处理 C8P6 de

    错误处理 Error Handling 8.6 defer语法可以让代码更简洁 Clearing Up Using...

  • 基础-3

    异常处理 error接口:Go中的一个关于错误处理的标准模式,属于Go内建的接口类型;type error int...

  • Spring Boot 错误(异常)处理

    1.错误(异常)处理 默认错误处理 在servlet容器中,Spring Boot默认提供一个“/error”映射...

  • Swift中的异常处理

    异常处理 错误处理(Error handling)是响应错误以及从错误中恢复的过程 在 Swift 中,错误用符合...

  • Go语言之错误处理

    一. 异常处理 1. error接口 Go语言中引入了一个关于错误处理的标准模式error接口,是go语言的内置接...

  • Error 泛型

    Error 异常处理 错误处理 错误类型 自定义错误 可以通过Error协议自定义运行时的错误信息 函数内部通过...

  • express的错误处理

    express的错误处理 定义错误处理函数: 错误处理函数带4个参数,第一个是error 错误处理函数的定义必须在...

  • RxJava错误处理与线程并发

    错误处理 Rxjava为链式调用,事件从源头流到尽头。一个源头链条中发生异常或者Observable.error(...

网友评论

      本文标题:swift5基本语法-Error错误处理/异常处理

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