Java自学者论坛

 找回密码
 立即注册

手机号码,快捷登录

恭喜Java自学者论坛(https://www.javazxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,会员资料板块,购买链接:点击进入购买VIP会员

JAVA高级面试进阶训练营视频教程

Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程Go语言视频零基础入门到精通Java架构师3期(课件+源码)
Java开发全终端实战租房项目视频教程SpringBoot2.X入门到高级使用教程大数据培训第六期全套视频教程深度学习(CNN RNN GAN)算法原理Java亿级流量电商系统视频教程
互联网架构师视频教程年薪50万Spark2.0从入门到精通年薪50万!人工智能学习路线教程年薪50万大数据入门到精通学习路线年薪50万机器学习入门到精通教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程MySQL入门到精通教程
查看: 399|回复: 0

iOS- Exception异常处理

[复制链接]
  • TA的每日心情
    奋斗
    2024-6-6 10:50
  • 签到天数: 750 天

    [LV.10]以坛为家III

    2034

    主题

    2092

    帖子

    70万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    706216
    发表于 2021-6-26 11:49:06 | 显示全部楼层 |阅读模式

    1.Exception 前言               


    在iOS里对异常的处理及捕获,并没有其它语言里那么常见,相信很多iOS程序员都知道,更多的时候是对内存的的检测与分析,检测相关内存方面的问题。

    而在app闪退并不是因为内存的时候,这时候我们完全可以将常见的一些异常捕获。

    捕获后发送至服务器,并且友好提示用户错误,或则直接回滚到用户操作前,阻止应用程序的崩溃。

     

     

    2.Exception处理                   

    2.1.当知道具体位置偶尔发生错误,又无法解决时           

    这时可以利用xcode自带的try 来处理,避免程序崩退。

     

     

    2.2.不知道具体位置,监听常用错误,发送到服务器         

    这里我们需要利用到两个框架。 两个第三方框架的,使用按具体的情况来应对

    都可以在github上搜到

    1.UncaughtExceptionHandler

    可以检测出常见错误,并友好的提示用户 例如

     

    1.NSArray、NSDictionary、NSString、KVC等问题引起的闪退。 
    2.解决NSObject performSelector找不到selector引起的闪退。 

     

       使用方法:

    1、首先需要在appDelegate中使用InstallUncaughtExceptionHandler()用于监听 2、添加UncaughtExceptionHandler这个类 iOS SDK提供的函数是NSSetUncaughtExceptionHandler来进行异常处理。但是无法处理内存访问错误、重复释放等错误,因为这些错误发送的SIGNAL。所以需要处理这些SIGNAL



    效果在Demo里可以来检测。

     

     

    2.DurexKit安全工具包

    可以阻止程序崩溃,并且可以自己写段逻辑在后台拦截到异常信息,发送至服务器,让程序从容运行。

    缺点:用户没用提示,操作回滚。

     

    使用方法:导入即可

    #import "DurexKit.h" 

    使用Category,参数经过判断后才能执行方法,再将原生抛异常的方法替换,所以不需要修改任何已有的代码,仅import工具包的头文件,即可解决部分异常问题。 

        1、NSArray、NSDictionary、NSString、KVC等问题引起的闪退。 

        2、解决NSObject performSelector找不到selector引起的闪退。 

     

    1.1.将文件夹 "DurexKit" 添加到项目中; 
    1.2.#import "DurexKit.h" 
    1.3.无需修改项目中的任何代码。

     

     

    作者: 清澈Saup
    出处: http://www.cnblogs.com/qingche/
    本文版权归作者和博客园共有,欢迎转载,但必须保留此段声明,且在文章页面明显位置给出原文连接。

                                                

     

     

    哎...今天够累的,签到来了1...
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|小黑屋|Java自学者论坛 ( 声明:本站文章及资料整理自互联网,用于Java自学者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-6-17 03:26 , Processed in 0.060112 second(s), 29 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表