一、基本概念
1、异常的作用:
java将异常信息打印至控制台,供程序修改,增加其健壮性。
int c=1/0;    //将抛出 java.lang.ArithmeticException
2、异常以类的形式存在,每个异常类都可以生成异常对象
3、异常的继承关系,UML图描述(暂缺)
 
4、编译时异常与运行时异常
编译时异常发生概率比较高--如:拿一把伞酒就是对雨天出门"生病异常"发生前的预处理
运行时移仓一般发生概率比较低--如:小明走在大街上,可能会被天上的飞机轮子砸到,无法预处理。
编译时异常:受检异常 checkException
运行时异常:未受检异常,非受检异常 UnCheckedException
 
二、异常处理的两种方式
1、方法声明的位置上,使用throws关键字
2、使用try catch语句进行异常捕捉
举例:
集团销售员,自己失误导致公司损失1000元,throws向上抛异常,try catch:自己掏腰包处理
 
三、使用注意事项
1、一般不建议main方法使用throws,因为jvm只有终止程序,可以使用try catch
2、try catch中try语句执行到异常时候,直接执行catch中语句,其余语句不执行
3、方法上有throws异常时,调用时必须需预处理,属于编译时异常
修改后正常:
4、try,catch可以写多个,当多个catch时,从上到下的顺序,必须遵循从小到大原则
5、jdk8新特性,catch可以捕获多个异常
6、重写方法的异常声明时,可抛出异常不能大于父类的异常
(实际工作中一般和父类方法抛出一样的异常)
 
 
四、异常对象两个非常重要的方法
1、getMessage()
2、printStackTrace()
 
五、fially语句
1、fially子句最后执行,并且一定会执行,即使抛出异常
2、fially子句必须和try语句一起出现,不能单独使用,可以没有catch
3、举例说明
 
六、自定义异常
1、两个步骤
(1)编写类继承Exception或者RuntimeException
(2)提供两个构造方法,一个无参数的,一个有String参数的
2、举例说明
 
七、抛出异常
 

java进阶(19)--异常处理机制的更多相关文章

  1. Java 进阶6 异常处理的陷阱

    Java 进阶6 异常处理的陷阱 20131113 异常处理机制是 Java语言的特色之一,尤其是 Java的Checked 异常,更是体现了 Java语言的严谨性:没有完善的错误的代码根本就不会被执 ...

  2. Java进阶02 异常处理

    链接地址:http://www.cnblogs.com/vamei/archive/2013/04/09/3000894.html 作者:Vamei 出处:http://www.cnblogs.com ...

  3. Java 中的异常处理机制

    生活中的异常:  不能够完整而顺利的完成一些工作 根据不同的异常进行相应的处理,而不会就此终端我们的生活 引出:  异常处理: 方式:  1.选择结构(逻辑判断)避免 demo:if逻辑处理异常 im ...

  4. Java中的异常处理机制的简单原理和应用?

    程序运行过程中可能出现各种"非预期"情况,这些非预期情况可能导致程序非正常结束. 为了提高程序的健壮性,Java提供了异常处理机制: try { s1... s2... s3... ...

  5. Java基础(四)-异常处理机制及其设计

    本篇主要是记录自己所理解的Java异常处理机制(基于jdk1.7)以及怎么去处理和设计异常.还记得当初学习Java异常这块的时候都没怎么注意它的用途,以为就是简单的处理下异常,我避免程序出现这样错误就 ...

  6. Java中的异常处理机制《》

    异常机制已经成为判断一门编程语言是否成熟的标准,异常机制可以使程序中异常处理代码和正常业务代码分离,保证程序代码更加优雅,并提高程序健壮性. Java异常机制主要依赖于try.catch.finall ...

  7. 16、java中的异常处理机制

    异常:就是程序在运行时出现不正常情况.异常由来:问题也是现实生活中一个具体的事物,也可以通过java的类的形式进行描述.并封装成对象. 其实就是java对不正常情况进行描述后的对象体现. 对于问题的划 ...

  8. Java面向对象编程之异常处理机制

    一:Java的异常处理机制的优点: 1:把各种不同情况的异常情况分类,使用JAVA类来表示异常情况,这种类被称为异常类.把各种异常情况表示成异常类,可以充分的发挥类的可扩展性和可重用性. 2:异常流程 ...

  9. 黑马程序员——JAVA基础之异常处理机制

    ------- android培训.java培训.期待与您交流! ---------- 异常:就是程序在运行时出现不正常情况. 异常由来:问题也是现实生活中一个具体的事物,也可以通过java的类的形式 ...

随机推荐

  1. 第四篇Scrum冲刺博客--Interesting-Corps

    第四篇Scrum冲刺博客 站立式会议 1.会议照片 2.队友完成情况 团队成员 昨日完成 今日计划 鲍鱼铭 搜索页面跳转.设计及布局实现 音乐详情页面跳转.设计及布局实现设计 叶学涛 编写设置页面 编 ...

  2. 个人项目wc

    github地址:https://github.com/YTFFBX/wc 1.题目描述 Word Count1. 实现一个简单而完整的软件工具(源程序特征统计程序).2. 进行单元测试.回归测试.效 ...

  3. 【python系统学习17】python中的文件读写

    python中的文件读写 文件读写,是Python代码调用电脑文件的主要功能,能被用于读取和写入文本.音频片段.Excel文档.邮件以及任何保存在电脑上的东西. 可使用python批量的操作本地文件, ...

  4. 微信支付宝个人免签约即时到帐接口开发附demo

    支付界面: 扫码支付界面: 付成功后可以跳转到你程序指定的地址! demo: http://likeyunba.com/WeChat-Pay/

  5. 区块链入门到实战(36)之Solidity – 运算符

    Solidity – 算术运算符 Solidity 支持的算术运算符,如下表所示: 假设变量A的值为10,变量B的值为20. 序号 运算符与描述 1 + (加)求和例: A + B = 30 2 – ...

  6. linux字符终端(控制台)的字体更改

    查看已安装的终端字体 ls /usr/share/consolefonts/ 设置终端字体 sudo dpkg-reconfigure console-setup 或者 sudo vim /etc/d ...

  7. Lua 5.3注册C++类相关API

    int luaL_newmetatable (lua_State *L, const char *tname); 如果注册表中不存在名为tname的表,则在注册表中创建一个名为tname的表,并将这个 ...

  8. 最小生成树MST

    定义 在一给定的无向联通带权图\(G = (V, E, W)\)中,\((u, v)\) 代表连接顶点 \(u\) 与顶点 \(v\) 的边,而 \(w(u, v)\) 代表此边的权重,若存在 \(T ...

  9. Agumaster页面样式就绪

  10. 使用枚举类Enum作为callee和caller的约定,运用反射消除分支和重复代码在命令式程序中的应用

    在开发过程中,程序提供的功能由简单变得复杂,承担功能的主要类也会因此变得庞大臃肿,如果不加以维护,就会散发出浓重的代码味道.下面这篇博文,主要讲述了利用Enum,反射等手段简化重构代码的过程. 代码涉 ...