Objective C2.0学习(十三 有关类的问题)
2011-12-25 14:10
120 查看
开始使用可以包含来自不同类的对象的变量时,可能会遇到以下问题:
这个对象是矩形吗?
这个对象支持print方法吗?
这个对象是Fraphics类或是其子类的成员吗?
以下是一些NSObject类支持的基本方法
isKindOfClass:selector 对象是不是class-object或者其子类的成员
返回BOOL
isMemberOfClass:selector 对象是不是class-object的成员
返回BOOL
if([myFract isMemberOfClass: [Fraction class]] == YES)
...
使用@try处理异常
@try
{
statement;
}
@catch(NSException *exception)
{
statement;
}
在@try中加入这些statement后,程序正常执行。但是,如果快种某一条语句抛出异常,执行不会终止,而是立即跳到@catch块,在那里继续执行。
例如
@try
{
[f noSuchMethod];
}
@catch(NSException *exception)
{
NSLog(@"Caught
%@%@" ,[exception name],[exception reason]);
}
NSLog(@"Execution continues~");
...
@throw指令允许你抛出自己的异常,可以使用该指令抛出特定异常。
这个对象是矩形吗?
这个对象支持print方法吗?
这个对象是Fraphics类或是其子类的成员吗?
以下是一些NSObject类支持的基本方法
isKindOfClass:selector 对象是不是class-object或者其子类的成员
返回BOOL
isMemberOfClass:selector 对象是不是class-object的成员
返回BOOL
if([myFract isMemberOfClass: [Fraction class]] == YES)
...
使用@try处理异常
@try
{
statement;
}
@catch(NSException *exception)
{
statement;
}
在@try中加入这些statement后,程序正常执行。但是,如果快种某一条语句抛出异常,执行不会终止,而是立即跳到@catch块,在那里继续执行。
例如
@try
{
[f noSuchMethod];
}
@catch(NSException *exception)
{
NSLog(@"Caught
%@%@" ,[exception name],[exception reason]);
}
NSLog(@"Execution continues~");
...
@throw指令允许你抛出自己的异常,可以使用该指令抛出特定异常。
相关文章推荐
- Objective C2.0学习(十三 有关类的问题)
- 学习设计模式----有关C#问题的理解
- 学习向 Solaris 操作系统迁移 C 和 C++ 应用程序的有关问题与技巧
- selenium学习笔记- selnium.RunScript(string script) 方法的使用 及有关自动化测试文本编辑器未解决的问题
- 答读者问(8):有关Java学习的相关问题
- 黑马程序员之HTML学习笔记:有关css和js针对不同浏览器兼容的问题
- 算法导论学习笔记(十三):动态规划(三):01背包问题
- Android学习记录(8)—Activity的四种加载模式及有关Activity横竖屏切换的问题
- Android学习记录(8)—Activity的四种加载模式及有关Activity横竖屏切换的问题
- WCF学习问题之“net.tcp://localhost/service/”不支持正在使用的 .Net 组帧模式。有关详细信息,请参见服务器日志。
- JMeter学习(十三)JMeter使用中遇到的问题:Jmeter Debug - "Unrecognized VM option '+HeapDumpOnOutOfMemoryError"
- 有关排列问题的学习
- Eclipse Plug in 开发 学习点滴(1) - 有关ResourcesPlugin类的使用和MANIFEST.MF文件中的插件包添加问题
- Android学习记录(8)—Activity的四种加载模式及有关Activity横竖屏切换的问题
- 今天学习asp.net mvc的过程中出现了一点问题,是有关浏览器的,一个疑问?
- 有关大数据学习的笔记和遇到的问题
- Linux内核学习中---有关#define LIST_HEAD_INIT(name) { &(name), &(name) }的问题
- Full GC有关问题学习分析(转载)
- Linux内核学习中---有关#define LIST_HEAD_INIT(name) { &(name), &(name) }的问题
- Full GC有关问题学习分析(转载)