亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

iOS捕獲異常,常用的異常處理方法

2019-11-14 19:42:23
字體:
來源:轉載
供稿:網友

前言:在開發APP時,我們通常都會需要捕獲異常,防止應用程序突然的崩潰,防止給予用戶不友好的一面。其實OBJECT-C的異常處理方法和java的雷同,懂JAVA的朋友一看就懂。我為什么要寫這篇博文呢?因為我發現百度上的介紹方法,很多都不是我想要的,而我想要的又說得不清楚,重點是大家都是直接復制別人的代碼。。。于是不多說,大家往下看~~~

 

以下程序已測試并通過:

設備:IOS8模擬器中

開發工具:XCode6.1

 

使用@try、catch捕獲異常:

以下是最簡單的代碼寫法,其中@finally可以去掉:

@try {    // 可能會出現崩潰的代碼}@catch (NSException *exception) {    // 捕獲到的異常exception}@finally {    // 結果處理}

 

在這里舉多一具比較詳細的方法,拋出異常:

@try {    // 1    [self tryTwo];}@catch (NSException *exception) {    // 2    NSLog(@"%s/n%@", __FUNCTION__, exception);//        @throw exception; // 這里不能再拋異常}@finally {    // 3    NSLog(@"我一定會執行");}// 4// 這里一定會執行NSLog(@"try");

 

tryTwo方法代碼:

- (void)tryTwo{    @try {        // 5        NSString *str = @"abc";        [str substringFromIndex:111]; // 程序到這里會崩    }    @catch (NSException *exception) {        // 6//        @throw exception; // 拋出異常,即由上一級處理        // 7        NSLog(@"%s/n%@", __FUNCTION__, exception);    }    @finally {        // 8        NSLog(@"tryTwo - 我一定會執行");    }        // 9    // 如果拋出異常,那么這段代碼則不會執行    NSLog(@"如果這里拋出異常,那么這段代碼則不會執行");}

為了方便大家理解,我在這里再說明一下情況:

如果6拋出異常,那么執行順序為:1->5->6->8->3->4如果6沒拋出異常,那么執行順序為:1->5->7->8->9->3->4

 

2)部分情況的崩潰我們是無法避免的,就算是QQ也會有崩潰的時候。因此我們可以在程序崩潰之前做一些“動作”(收集錯誤信息),以下例子是把捕獲到的異常發送至開發者的郵箱。

AppDelegate.m

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    // Override point for customization after application launch.    NSSetUncaughtExceptionHandler(&UncaughtExceptionHandler);    return YES;}void UncaughtExceptionHandler(NSException *exception) {    /**     *  獲取異常崩潰信息     */    NSArray *callStack = [exception callStackSymbols];    NSString *reason = [exception reason];    NSString *name = [exception name];    NSString *content = [NSString stringWithFormat:@"========異常錯誤報告========/nname:%@/nreason:/n%@/ncallStackSymbols:/n%@",name,reason,[callStack componentsJoinedByString:@"/n"]];    /**     *  把異常崩潰信息發送至開發者郵件     */    NSMutableString *mailUrl = [NSMutableString string];    [mailUrl appendString:@"mailto:test@qq.com"];    [mailUrl appendString:@"?subject=程序異常崩潰,請配合發送異常報告,謝謝合作!"];    [mailUrl appendFormat:@"&body=%@", content];    // 打開地址    NSString *mailPath = [mailUrl stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:mailPath]];}

 

發送郵件的操作,具體請查看我的另一篇博文:

IOS開發-發送郵件(E-mail)方法整理合集(共3種)

 


博文作者:GarveyCalvin

博文出處:http://www.49028c.com/GarveyCalvin/

本文版權歸作者和博客園共有,歡迎轉載,但須保留此段聲明,并給出原文鏈接,謝謝合作!


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲爱爱爱爱爱| 亚洲一区二区日本| 精品久久久久久| 国产午夜一区二区| 久久影视免费观看| 欧美日本国产在线| 亚洲欧洲午夜一线一品| 亚洲最大成人网色| 欧美色视频日本版| 亚洲精品久久久久国产| 午夜精品国产精品大乳美女| 欧美中文字幕视频在线观看| 久久最新资源网| 日本最新高清不卡中文字幕| 国产精品久久久久久久久借妻| 久久国产视频网站| 国产99久久精品一区二区 夜夜躁日日躁| 久久精品国产电影| 亚洲一区中文字幕在线观看| 日韩资源在线观看| 久久久久久久久久久免费精品| 96精品久久久久中文字幕| 欧美日本黄视频| 精品视频在线播放免| 日韩av在线网址| 久久久爽爽爽美女图片| 亚洲毛片在线观看| 亚洲片在线观看| 国产精品日韩在线播放| 8090成年在线看片午夜| 欧美成人精品三级在线观看| 亚洲xxxx妇黄裸体| 国产精品99久久久久久久久| 国产成人免费av| 久久天天躁狠狠躁老女人| 韩国福利视频一区| 欧美一级高清免费播放| 亚洲精品日韩av| 久久精品一本久久99精品| 久久资源免费视频| 亚洲free性xxxx护士白浆| 国产精品日韩欧美大师| 性亚洲最疯狂xxxx高清| 中文字幕日韩视频| 亚洲free性xxxx护士白浆| 亚洲综合色激情五月| 亚洲精品欧美日韩| 亚洲国语精品自产拍在线观看| 国产精品视频内| 久久天堂av综合合色| 色综合久久久久久中文网| 欧美老少配视频| 91九色国产视频| 97av在线视频| 国产精品免费视频xxxx| 狠狠综合久久av一区二区小说| 欧美高清无遮挡| 国产福利精品在线| 91在线免费观看网站| 91免费在线视频网站| 成人国内精品久久久久一区| 欧美日韩亚洲精品内裤| 91干在线观看| 亚洲国产精品999| 精品美女永久免费视频| 国产成人精品日本亚洲| 久久不射热爱视频精品| 亚洲视频欧洲视频| 国产亚洲精品美女久久久| 欧美国产激情18| 2021国产精品视频| 欧美激情视频在线免费观看 欧美视频免费一| 亚洲高清av在线| 日本伊人精品一区二区三区介绍| 亚洲欧美成人一区二区在线电影| 久久综合久久美利坚合众国| 国产一区香蕉久久| 黄网动漫久久久| 日产精品99久久久久久| 国产亚洲精品久久久久久牛牛| 国产日韩欧美日韩大片| 亚洲精品456在线播放狼人| 尤物99国产成人精品视频| 欧美精品www| 亚洲欧美日韩图片| 久久综合伊人77777| 欧美夫妻性视频| 欧美高清视频一区二区| 欧美最顶级的aⅴ艳星| 91九色国产在线| 久热爱精品视频线路一| 国产亚洲视频在线| 一区二区三区视频在线| 色综合老司机第九色激情| 成人精品视频久久久久| 伊人青青综合网站| 成人a视频在线观看| 亚洲激情视频在线播放| 亚洲第一福利网| 韩国精品久久久999| 亚洲欧美国产日韩中文字幕| 亚洲欧美日韩图片| 亚洲视频在线观看视频| 国产偷亚洲偷欧美偷精品| 亚洲第一福利在线观看| 欧美成在线视频| 欧美激情视频在线观看| 日韩美女中文字幕| 亚洲人成网在线播放| 亚洲一区二区久久| 久久久久成人网| 国模叶桐国产精品一区| 动漫精品一区二区| 日本伊人精品一区二区三区介绍| 97精品免费视频| 尤物九九久久国产精品的特点| 欧美日韩国产成人在线观看| 亚洲精选中文字幕| 亚洲影院色在线观看免费| 狠狠爱在线视频一区| 欧美自拍大量在线观看| 亚洲欧洲午夜一线一品| 亚洲欧美中文在线视频| 亚洲人成网站色ww在线| 国产成人一区二区三区电影| 久久91精品国产91久久跳| 日韩成人在线免费观看| 97超碰色婷婷| 亚洲电影天堂av| 91豆花精品一区| 亚洲精品国产精品久久清纯直播| 91久久久久久久一区二区| 国产午夜精品一区二区三区| 日韩欧美在线免费观看| 伊人久久综合97精品| 国产999在线观看| 在线日韩中文字幕| 成人福利在线观看| 91中文字幕在线| 九九热这里只有在线精品视| 日韩国产欧美区| 亚洲人成在线观看| 久久精品欧美视频| 欧美午夜视频在线观看| 亚洲午夜av久久乱码| 国产精品视频资源| 精品久久久免费| 中文字幕欧美日韩va免费视频| 日韩在线播放视频| 亚洲色图在线观看| 琪琪第一精品导航| 2019av中文字幕| 免费91麻豆精品国产自产在线观看| 成人激情视频小说免费下载| 亚洲精品美女在线观看| 黑人极品videos精品欧美裸| 欧美成人精品在线播放| 欧美精品在线第一页| 在线观看亚洲区| 亚洲精品免费在线视频| 成人免费观看49www在线观看| 亚洲人成在线播放| 91人人爽人人爽人人精88v| www.亚洲成人|