- 浏览: 3459529 次
- 性别:
- 来自: China
文章分类
- 全部博客 (536)
- ajax (1)
- Algorithm (14)
- Android (40)
- CSS/HTML... (2)
- defy (3)
- DesignPattern (2)
- dorado (0)
- Drools (6)
- English/日本語 (7)
- Flex (2)
- Framework (0)
- Google (3)
- hibernate (13)
- homework (3)
- HTML5 (0)
- IDE (29)
- java (45)
- javaee (7)
- Javascript (14)
- java组件 (5)
- jQuery (4)
- jsp (8)
- jsf (2)
- Linux (2)
- lucene (0)
- mysql (6)
- news (3)
- Oracle (8)
- other (4)
- PHP (5)
- Python (0)
- Software Engineering (3)
- spring (7)
- struts1.x (14)
- struts2.x (14)
- strolling in cloud (1)
- subject:javaEnhance (20)
- Tomcat (7)
- validator (3)
- 学习·方法·心得 (8)
- .NET (2)
- vba (6)
- groovy (5)
- grails (2)
- SWT (0)
- big data (1)
- perl (1)
- objective-c (50)
- product (1)
- mac (7)
- ios (188)
- ios-phone (2)
- ios-system (15)
- ios-network (5)
- ios-file (4)
- ios-db (1)
- ios-media (3)
- ios-ui (27)
- ios-openSource (6)
- ios-animation (5)
- ios-drawing (7)
- c (2)
- ios-app (2)
- ios-course (15)
- ios-runtime (14)
- ios-code (8)
- ios-thread (8)
- ios-LBS (2)
- ios-issue (1)
- ios-design (2)
- Jailbreak (2)
- cocos2d (0)
- swift (16)
- ios-framework (4)
- apple watch (4)
- ios-web (1)
- react native (3)
- TVOS (1)
- OpenGL (1)
最新评论
-
xiaobinggg:
...
Session机制详解 -
菜鸟学生会:
Drools规则工作流引擎开发教程网盘地址:http://pa ...
Drools入门-----------环境搭建,分析Helloworld -
wangyudong:
不是很好用,不支持自动化测试RESTful API,也不支持自 ...
Simple REST Client POST使用方法 -
Paul0523:
很棒的一篇文章,感谢楼主分享
Session机制详解 -
啸笑天:
获取原型对象的三种方法<script>functi ...
复习JavaScript面向对象技术
苹果关于异常的详细文档:
http://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/Exceptions/Exceptions.html#//apple_ref/doc/uid/10000012i
关于自定义异常或者扩展:
Objective-C中处理异常是依赖于NSException实现的,它是异常处理的基类,它是一个实体类,而并非一个抽象类,所以你可以直接使用它或者继承它扩展使用:
1.直接使用,分两种,抛出默认的异常,和自定义自己的新的种类的异常:
#import <Foundation/Foundation.h> int main (int argc, const char * argv[]) { @autoreleasepool { NSException* ex = [[NSException alloc]initWithName:@"MyException" reason:@"b==0" userInfo:nil]; @try { int b = 0; switch (b) { case 0: @throw(ex);//b=0,则抛出异常; break; default: break; } } @catch (NSException *exception)//捕获抛出的异常 { NSLog(@"exception.name= %@" ,exception.name); NSLog(@"exception.reason= %@" ,exception.reason); NSLog(@"b==0 Exception!"); } @finally { NSLog(@"finally!"); } [ex release]; } return 0; }
ps:
Initializes and returns a newly allocated exception object.
Parameters
The name of the exception.
A human-readable message string summarizing the reason for the exception.
A dictionary containing user-defined information relating to the exception
Return Value
The created NSException
object or nil
if the object couldn't be created.
Discussion
This is the designated initializer.
Availability
- Available in iOS 2.0 and later.
2.扩展使用,这个推荐你需要自定义一些功能的时候使用,比如,当捕获到指定的异常的时候弹出警告框之类的:
@interface MyException : NSException -(void)popAlert @end
@implementation MyException - (void)popAlert { //弹出报告异常原因的警告框 reason UIAlertView* alert = [[UIAlertView alloc] initWithTitle:@"Tips" message:self.reason delegate:nil cancelButtonTitle:nil otherButtonTitles:nil]; [alert show]; [alert release]; } @end
使用:
- (IBAction)btnClicked_Exception:(id)sender { MyException* ex = [[MyException alloc]initWithName:@"MyException" reason:@"除数为0了!" userInfo:nil]; @try { int b = 0; switch (b) { case 0: @throw(ex);//b=0,则抛出异常; break; default: break; } } @catch (MyException *exception)//捕获抛出的异常 { [exception popAlert]; NSLog(@"b==0 Exception!"); } @finally { NSLog(@"finally!"); } [ex release]; }这个时候,捕获到异常,它就会弹出警告框了。当然,你还可以在MyException里面加一些指定的异常的通用处理方法。
只要你愿意,你就可以随意的定制它!
发表评论
-
NSValue对任何结构体,基本类型,指针的封装
2015-08-28 09:56 4079任何结构体: 一个NSValue对象是用来存 ... -
IBInspectable / IBDesignable
2015-08-20 21:21 1703感谢:http://nshipster.cn/ibinsp ... -
Nullability and Objective-C
2015-06-18 15:59 1983https://developer.apple.com/s ... -
枚举类型 enum,NS_ENUM,NS_OPTIONS
2014-12-07 23:07 1518一般情况下,我们采用C风格的enum关键字可以定义枚举类型。 ... -
类生成字典
2014-12-07 01:18 1270-(NSDictionary *)toDict ... -
Objective-C Runtime 成员变量与属性
2014-12-06 23:49 2886习题内容 下面代码会? Compile Error / ... -
消息 和 Category
2014-12-06 23:37 1421习题内容 下面的代码会?Compile Error / ... -
对象&类&元类(Object & Class & Meta Class)
2014-12-06 22:34 5679作为C语言的超集,面向对象成为Objective-C与C语 ... -
Self & Super
2014-12-06 21:59 3767在 Objective-C 中的类实现中经常看到这两 ... -
Objective-C Runtime
2014-12-06 18:31 32035Objective-C Runtime 本文详细整理 ... -
Objective C 中的nil,Nil,NULL和NSNull理解
2014-11-26 14:26 1828ObjC 里面的几个空值符号经常会差点把我 ... -
《Effective Objective C 2.0》笔记
2014-10-21 13:36 2597第1章 熟悉objective-c 1 ... -
nil/Nil/NULL/NSNull
2014-04-11 16:47 0理解“不存在”的概 ... -
Objective-C 的“多继承”
2014-03-28 23:18 1588当单继承不够用,很难为问题域建模时,我们通常都会直接想到多 ... -
ios7 JavaScriptCore.framework
2014-03-26 01:19 30092以前想要oc调用js代码一般是通过uiwebview的st ... -
Objective C运行时(runtime)技术的几个要点总结
2014-02-20 10:09 14521from:http://www.cnblogs.com/g ... -
Method Swizzling
2014-02-20 10:11 3561Thx: http://esoftmobile.com/2 ... -
(译)Objective-C的动态特性
2014-02-20 10:09 2908过去的几年中涌现了大量的Objective-C开发者。有些 ... -
Associated Objects
2014-02-20 10:09 5485本文翻译自NSHipster的 ... -
兼容acr和非arc的宏定义
2013-11-16 16:08 0/**************** Support both ...
相关推荐
在Objective-C中,异常处理通过使用`@try`, `@catch`, `@throw`, `@finally`等关键字来实现。下面我们将深入探讨Objective-C中的异常处理机制。 1. **异常的结构** Objective-C的异常是一个继承自`NSException`类...
8. **异常处理与测试**:讲解Objective-C中的错误处理机制,如NSException,以及如何进行单元测试和集成测试,确保代码质量。 9. **App Store发布流程**:最后,可能会介绍如何打包应用,通过Apple的审核流程,以及...
Objective-C支持C风格的错误处理,并且引入了`NSException`类用于抛出和捕获异常。例如: ```objective-c @throw [NSException exceptionWithName:@"InvalidInputException" reason:@"Invalid input." userInfo:nil...
10. **异常处理**:Objective-C中的错误处理模型,包括何时抛出异常,如何捕获并处理异常,以及使用NSException类的相关知识。 11. **测试与调试**:介绍如何使用Xcode进行单元测试和集成测试,以及如何调试...
5. **错误处理**:介绍Objective-C中的错误处理机制,比如异常处理(NSException)等。 #### 五、高级主题 1. **类别**:类别是Objective-C中一种特殊的类扩展方式,它可以为现有类添加新的方法或修改已有的方法。...
### Objective-C 快速入门详解 ...Objective-C 提供了一套完整的面向对象编程框架,包括类的定义、实例化、构造器、访问权限控制、异常处理等特性。通过上述知识点的学习,你可以快速上手 Objective-C 的基础编程技巧。
Objective-C支持异常处理机制,用于处理程序运行时可能出现的错误情况。异常处理的关键字包括`@try`、`@catch`、`@finally`等。例如: ```objective-c @try { // 可能引发异常的代码 } @catch (NSException *...
Objective-C 使用`NSException`进行异常处理。 9. 协议(Protocols): 虽然这个例子没有涉及,但Objective-C中的协议允许类遵循一组特定的方法约定,增加了代码的灵活性和可扩展性。 10. 编程实践: Mike 的...
5. **错误处理**:在源代码中,可能会有适当的错误处理机制,如使用NSException捕获和处理可能出现的异常情况,或者通过NSAssertion进行断言检查,确保程序在非预期状态下能够给出反馈。 6. **详细说明**:提供的...
- **异常处理**:使用 NSException 和 try-catch-finally 结构处理错误。 - **性能优化**:探讨提高应用程序性能的方法和技术。 **7. 实战项目** - **项目案例**:书中包含了一系列实战项目,帮助读者将理论知识...
此外,ObjFW还包含了异常处理(NSException)机制,使得程序的错误处理更加规范。 对于游戏开发,ObjFW支持图形和音频接口,比如OpenGL和OpenAL,这对于在不同平台上开发游戏来说非常有用。在移动设备上,ObjFW可以...
7. **异常处理**:Objective-C使用NSException进行异常处理。在objc4源码中,异常处理的相关逻辑可以在`objc_exception_throw`函数中找到。 通过深入研究objc4-779源码,开发者不仅可以加深对Objective-C语言的理解...
- 异常处理:Objective-C中的NSException与Swift的ErrorType对比。 - Memory Management:ARC(Automatic Reference Counting)的工作原理,避免内存泄漏。 - Design Patterns:熟悉并能应用常见的设计模式,如...
Objective-C中使用`@try`、`@catch`和`@throw`关键字来处理异常。 ```objective-c @try { // 可能抛出异常的代码 } @catch (NSException *exception) { NSLog(@"捕获到异常: %@", exception); } ``` ### 面向...
- Objective-C使用NSException来进行异常处理。 **2. 抛出异常:** - 使用`@throw`抛出异常。 - 示例:`@throw [NSException exceptionWithName:@"ExceptionName" reason:@"Reason" userInfo:nil];` **3. 捕获异常...
在iOS中,Objective-C和Swift都提供了处理异常的方法,但Objective-C更倾向于使用异常处理机制,因为它的语法支持显式的异常抛出和捕获。Swift则更倾向于避免异常,而使用可选类型、断言和错误处理来处理问题。然而...
在Objective-C(简称objc)编程中,异常处理是确保程序健壮性的重要一环。当程序遇到无法正常处理的情况时,会抛出一个异常。这个压缩包中的"objc代码-测试异常运行"很可能是用于演示如何在Objective-C中捕获和处理...
GeoHex-ObjectiveC-CrashSample 是一个针对Objective-C编程语言的示例项目,主要关注的是如何处理程序崩溃的问题。这个项目可能包含了错误排查、调试和优化代码的实践,特别是与GeoHex编码系统相关的错误场景。...
iOS使用Objective-C的异常处理机制,它基于C++的异常模型。在Objective-C中,异常是通过`@try`、`@catch`和`@finally`语句块来捕获和处理的。当程序遇到不可恢复的错误时,会抛出一个异常,这个异常可以被`@catch`...