Objective-C的异常处理语法和Java以及C++中的有些类似。通常在程序需要使用到NSException或者是NSError或者是自定义的类来增加程序处理错误的能力。本章中将对异常处理进行概括的叙述,更多信息请参考《Cocoa中的异常处理》
使用异常处理
Objective-C语言提供了对异常处理的支持。使用GCC 3.3或者更高版本的编译器时,需要打开-fobjc -exceptions选项来支持异常处理。(注意:这将使得应用程序只能在Mac OS X v10.3或者更高版本的系统上运行。之前的系统是不支持运行时异常处理和同步的。)
异常处理
异常是一种能打断程序正常执行的状况。产生异常的原因很多,有硬件的也有软件的。例如,做算数运算时,被除数为零就会产生异常;运算出现上溢或者下溢都会产生异常;调用未定义的指令(比如企图调用没有实现的方法)或者企图越界访问集合都会产生异常。
Objective-C中支持异常处理的指令有:@try、@catch、@throw和@finally四个:
■ 有可能产生异常的代码放置在@try代码块中。
■ @catch()代码块负责处理@try代码中抛出的异常。可以使用多个@catch()块来捕获不同种类的多个异常。
■ @finally()块中的代码是必须执行的,无论是否有异常抛出。
■ 使用@throw命令字抛出的异常实际上是一个Objective-C对象。通常使NSException类型的对象,但这不是必须的。
下面的示例代码描述了简单的异常处理流程:
Cup * cup = [ [Cup alloc] init]; @try { [Cup fill]; } @catch(NSException * exception) { NSLog(@”main: Caught %@: %@”,[exception name], [exception reason] ); } @finally { [cup release]; }
相关推荐
Spring Cloud Gateway的全局异常处理 Spring Cloud Gateway中的全局异常处理不能直接用@ControllerAdvice来处理,通过跟踪异常信息的抛出,找到对应的源码,自定义一些处理逻辑来符合业务的需求。 网关都是给接口做...
C#异常处理总结及简单实例 一、异常处理的理解? 异常处理是指程序在运行过程中,发生错误会导致程序退出,这种错误,就叫做异常。 因此处理这种错误,就称为异常处理。 二、异常处理如何操作? C# 异常处理时建立在...
异常处理.ppt异常处理.ppt异常处理.ppt异常处理.ppt异常处理.ppt异常处理.ppt
课程作业,实现两数计算及其异常处理,异常处理机制能让程序在异常发生时,按照代码的预先设定的异常处理逻辑,针对性地处理异常,让程序尽最大可能恢复正常并继续执行,且保持代码的清晰。 Java中的异常可以是函数...
在开始进行自定义的异常处理逻辑之前,我们有必要看一下异常处理的默认实现。也就是:为什么会产生上面小节提到的现象? ResponseErrorHandler是RestTemplate请求结果的异常处理器接口 o接口的第一个方法hasError...
关于异常处理的word文档 关于异常处理的word文档 关于异常处理的word文档
Springboot全局异常处理demo 项目的开发中,不管是对底层的数据库操作过程,还是业务层的处理过程,还是控制层的处理过程,都不可避免会遇到各种可预知的、不可预知的异常需要处理。每个过程都单独处理异常,系统的...
主要为大家详细介绍了MySQL定义异常和异常处理,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
2. Microsoft 对异常处理方法的扩展 3. 标准 C++异常处理的基本语法和语义 4. 实例剖析 EH 5. C++的 new 和 delete 操作时的异常处理 6. Microsoft 对于的实现版本中的异常处理 7. 部分构造及 placement delete 8. ...
C++ 异常处理 C++ 异常处理C++ 异常处理C++ 异常处理C++ 异常处理C++ 异常处理C++ 异常处理C++ 异常处理
java异常处理java异常处理java异常处理java异常处理java异常处理java异常处理java异常处理java异常处理java异常处理java异常处理java异常处理java异常处理java异常处理
c/vc++/结构化异常处理 浅析 C语言异常处理 C++语言异常处理 异常处理函数 MFC异常处理 结构化异常处理
统一异常处理会区分前端是否ajax请求,自动返回json数据格式,要求开发人员在处理ajax请求时统一封装成一个对象返回,以符合代码统一规范。 此工程在idea环境编写,导入请自己新建工程手工复制代码导入。
ADS异常处理.pptADS异常处理.pptADS异常处理.ppt
ARM异常处理机制ARM异常处理机制ARM异常处理机制ARM异常处理机制ARM异常处理机制ARM异常处理机制ARM异常处理机制ARM异常处理机制ARM异常处理机制
主要介绍了详解SpringCloud Finchley Gateway 统一异常处理,非常具有实用价值,需要的朋友可以参考下
中的异常处理问题显得尤为突出[1-3]。传统上将异常处理包含于正常流程中的方法不仅不能 有效的处理各类异常,同时使得整个系统流程复杂化;而完全的人工参与也使得异常处理过 程效率低下,形式极不规范。所以,工作...
第7章 java异常处理
SQLserver存储过程异常处理
这是自己通过看书对java异常处理的一些总结