• Swift_错误处理


    Swift_错误处理


    点击查看源码

    //错误处理
    func test() {
        
        //错误枚举 需ErrorType协议
        enum ErrorEnum: Error {
            case `default` //普通错误
            case other(tag: Int) //高级错误 可携带数据
        }
        
        class SomeClass {
            
            func canThrowErrors(_ str: String) throws {
                //当str不为Default时 输出错误
                guard str == "Default" else {
                    throw ErrorEnum.default
                }
                //当str不为Other时输出错误
                guard str == "Other" else {
                    throw ErrorEnum.other(tag: 5)
                }
            }
            
        }
        
        let sClass = SomeClass()
        //try! sClass.canThrowErrors("Default") // 强制调用 错误时程序闪退。
        do {
            try sClass.canThrowErrors("Default")
            try sClass.canThrowErrors("Other")
        } catch ErrorEnum.default {
            print("默认错误")
        } catch ErrorEnum.other(let tag) where tag == 5 {
            print("错误代码:(tag)")
        } catch ErrorEnum.other(let tag) {
            print("其他错误:(tag)")
        } catch {
            // 在捕获中 隐式携带error错误。
            print("未知错误:(error)")
        }
        
        /*  print
         
         错误代码:5
         
         */
    }
    
  • 相关阅读:
    Unity资源打包之Assetbundle
    集社交与金融为一体,平安天下通怎样推动互联网金融创新?
    json和pickle模块
    sys模块
    os模块
    random模块
    datetime模块
    time模块
    logging模块

  • 原文地址:https://www.cnblogs.com/xubaoaichiyu/p/6508341.html
Copyright © 2020-2023  润新知