//
// main.m
// 03-动态绑定
//
// Created by mac on 15/8/11.
// Copyright (c) 2015年. All rights reserved.
// #import <Foundation/Foundation.h>
#import "Fraction.h"
#import "Complex.h"
#import "MyException.h"
int main(int argc, const char * argv[])
{
@autoreleasepool
{
//测试分数类
Fraction *f1 = [[Fraction alloc]initWithNumerator:
addDenominator:];
[f1 print]; Fraction *f2 = [[Fraction alloc]initWithNumerator:
addDenominator:];
[f2 print]; Fraction *f3 = [f1 add:f2];
[f3 print]; //测试复数类
Complex *c1 = [[Complex alloc]initWithReal:5.0 andImag:3.0];
[c1 print]; Complex *c2 = [[Complex alloc]initWithReal:4.3 andImag:2.5];
[c2 print]; Complex *c3 = [c1 add: c2];
[c3 print]; //测试动态绑定
id pObj = nil;
pObj = f3;
[f3 print]; pObj = c3;
[c3 print]; MyException *pe;
@try//将容易出现异常的代码放在try代码块里面
{
id arr[] = {c1,f1,@""};
for(int i=;i<;i++)
{
[arr[i] print];
pe = [[MyException alloc] initWithName:@"MyException" reason:@"test" userInfo:nil];
@throw pe;//主动抛出自定义的异常
}
NSLog(@"try last statement");//在出现异常后会跳过@try中后续的代码,不会执行。
}
@catch(MyException *e)//捕捉自定义的异常
{
NSLog(@"MyException:%@",[e reason]);
}
@catch(NSException *e)//系统捕捉异常
{
NSLog(@"%@",[e reason]);
}
@finally//最终处理
{
NSLog(@"finally");
}
//异常处理完,后续代码会继续执行
NSLog(@"last statement!");
}
return ;
}

最新文章

  1. 【Leafletjs】2.添加marker到地图
  2. VC++6.0MFC运行的简单流程
  3. 【css】a:hover 设置上下边框在 ie6 和 ie7 下失效
  4. 设计模式学习之单例模式(Singleton,创建型模式)(4)
  5. Android 怎样把光标放在EditText中文本的末尾处?
  6. 解决fontawesome-webfont 被拦截的问题
  7. Hibernate学习之表一对多,多对一关系
  8. Javascript异步编程的4种方法(转载)
  9. 怎么样Ubuntu正在使用root账号登录
  10. css3实现进度条
  11. MyBatis(七) 自定义映射结果ResultMap
  12. docker不能上传镜像到自己网站的仓库
  13. 从Java的角度简单修复Cookie越权漏洞
  14. 搭建ssh框架项目(三)
  15. linux nfs共享文件
  16. Win7命令终端基础配色指南
  17. PostgreSQL 资料库
  18. centsos各个版本的区别
  19. 01-maven环境配置
  20. Tomcat内部结构及请求原理(转)

热门文章

  1. Django实战(9):实现Product的输入校验
  2. 基于Laravel开发博客应用系列 —— 十分钟搭建博客系统
  3. 分布式系统的一致性算法------《Designing Data-Intensive Applications》读书笔记13
  4. Java 中线程安全问题
  5. Android DecorView浅析
  6. 【BZOJ 3470】3470: Freda’s Walk 期望
  7. spring对事务支持的三种形式
  8. 回顾下$.ajax()方法参数
  9. C/C++ 函数指针 总结
  10. nginx简单代理配置