美文网首页Swift开发Swift学习iOS开发
Swift学习_自定义Log&异常捕捉

Swift学习_自定义Log&异常捕捉

作者: CN_HarrySun | 来源:发表于2017-08-01 17:20 被阅读30次
Swift

1.自定义Log

// 1.获取打印所在的文件(例如:ViewController.swift)
// lastPathComponent:获取最后一个路径
let file = (#file as NSString).lastPathComponent
    
// 2.获取打印所在的方法(例如:viewDidLoad())
let funcName = #function
    
// 3.获取打印所在行数(例如22)
let lineNum = #line

要想在Swift中使用DEBUG,需要在Build Settings中设置一些东西,如下图:


设置DEBUG
将以下代码写在AppDelegate.swift中,写成全局函数,就可以在其他地方调用了
// T是动态类型
func SHLog<T>(message: T,file:String = #file,funcName:String = #function,lineNum:Int = #line){
    
    #if DEBUG       // Build Settings --> swift flags --> 在debug后点击+ --> -D 自己起的名字
    
    let fileName = (file as NSString).lastPathComponent
    
    print("\(fileName):(第\(lineNum)行) - \(message)")
    //        print("\(fileName):[\(funcName)](\(lineNum)) - \(message)")   // 会打印函数名
    
    #endif
}

2.Swift中异常处理

如果在调用系统某一个方法时,该方法最后有一个throws,说明该方法会抛出异常,那么需要对该异常进行处理

Swift中提供了三种处理异常的方式
1.try方式 程序员手动捕捉异常
let pattern = "abc"
do{
    let regex = try NSRegularExpression(pattern: pattern, options: .caseInsensitive)
}catch{
    catch:捕捉异常
    error:异常的对象
    print(error)
}
2.try?方式 系统帮助我们处理异常,如果该方法出现了异常,则该方法返回nil;如果没有异常,则返回对应的对象
let pattern = "abc"
guard let regex = try? NSRegularExpression(pattern: pattern, options: .caseInsensitive) else{
    return
}
3.try!方式(不建议,非常危险) 直接告诉系统,该方法没有异常。注意:如果该方法出现了异常,那么程序会报错(崩溃)
let pattern = "abc"
let regex = try! NSRegularExpression(pattern: pattern, options: .caseInsensitive)

}


代码已上传至git:
--> 传送门:Swift_基本语法

附录

查看完整专栏《Swift学习》

有问题欢迎指正以及相互探讨 —— CoderSun

相关文章

  • Swift学习_自定义Log&异常捕捉

    1.自定义Log 要想在Swift中使用DEBUG,需要在Build Settings中设置一些东西,如下图:设置...

  • PHP异常的捕获及处理

    系统自带异常处理 自定义异常处理 捕捉多个异常 日志记录 备注: register_shutdown_functi...

  • Swift Day12 错误处理 泛型

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

  • Python:如何处理异常错误和避免

    异常错误 这个其实和Java是非常相似的,这里只是说说它的基本用法:捕捉异常,处理异常,自定义异常,记录异常: 断...

  • 9. 异常

    基于网络课程《Python全栈开发专题》 记录笔记,请支持正版课程。 raise抛出异常 自定义异常类 捕捉异常 ...

  • Swift3学习笔记:异常捕捉(Error Handling)

    异常捕捉(Error Handling) Swift的异常处理是在程序中响应错误和处理错误恢复程序正常运行的过程。...

  • 2018-08-01

    在swift中提供三种处理异常的方式方式一:try方式 程序员手动捕捉异常do {try NSJSONSeria...

  • Java异常处理(一)

    先创建一个自定义异常类 CCException ,再添加搭配 BB 类里捕捉异常的处理中。 运行结果:image....

  • python自定义异常和异常捕捉

    异常捕捉: 1.raise 语句可以自定义报错信息,如上。 raise后的语句是不会被执行了,因为已经抛出异常,控...

  • Java进阶学习笔记终篇

    1、异常: 1.1 捕捉异常:数组下标越界 1.2 异常捕捉机制: 捕捉异常: 异常发生并不意味着程序一定要终止:...

网友评论

    本文标题:Swift学习_自定义Log&异常捕捉

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