---------------------- ASP.Net+Android+IO开发S、.Net培训、期待与您交流! ---------------------
异常的定义:
阻止当前方法或作用于继续执行的问题,说白了就是运行时出现的可能会导致程序中断的问题,之所以说可能,是因为有一种异常(RuntimeException)出现之后程序不会中断,会继续执行下去,这就相当于在程序执行的时候遇到问题了,需要给程序员一个信息,但这个信息又不同于程序中其他的正常内容,所以用异常来表示。
异常体系
Throwable类是java语言中所有错误或异常的超类。它的下一级有两个子类Error和Exception:
Error:不能被捕获的严重错误,比如内存泄露、找不到执行文件、java虚拟机资源告罄等,这些异常虚拟机会直接处理了。
Exception:程序内部可以被捕获的异常,这个又分为两种UncheckeException和CheckedException:
UncheckedException又叫做RuntimeException,不需要捕获,常见的有IllegalArgumentException、IllegalStateException、NullPointException、IndexOutOfBoundsException等
CheckedException异常需要捕获进行处理,这种异常就多了去了,IOException、SQLException、SocketException等等
异常的使用
- 1.java提供了额特有的语句进行处理异常,
- 2.格式:
- try
- {
- //需要被检测的代码;
- }
- catch(异常类 变量)//这个变量是一个异常对象引用
- {
- //处理异常的代码;(处理方式)
- }
- finally //finally语句一般用来清理系统资源,里边多放的是释放资源的语句
- {
- //一定会执行的语句;
- }
- 3.对捕获到的异常对象进行常见方法操作。
- String getMessage();获取异常的信息。
- e.getMassage(); // 异常信息。
- e.toString();// 异常名称+异常信息。
- e.printStackTrace(); //异常名称,异常信息,异常出现的位置。这个是默认的JVM处理机制,打印异常在堆栈中的异常信息。
- String getMessage();获取异常的信息。
- 4.异常声明throws。
- in div(int a , int b) throws Exception//在功能上通过throws的关键字声明了该功能可能会出现问题。
- throws出现的问题:
- 因为div声明抛出异常,意味着div可能有问题,所以调用div时必须捕捉或者声明抛出异常。
- throws只能在方法后面,而且有throws的方法内部不一定会抛出异常
异常使用时要注意的问题
1、在处理异常时,不要什么异常都用Exception来捕获,这样不论出现什么异常都用同一种方式处理,这明显不符合我们的意愿。
2、当捕获的不同异常之间存在继承关系时,一定要先捕获子类,再捕获父类,因为如果先捕获父类的话,捕获子类的那段代码就没用了,出现子类异常都给父类拿去玩了。
3、分析那些地方会出现异常,然后进行try。。。catch,因为代码越简洁越舒服。加个异常,原先代码100行立马就编程了几百行了。
---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------
详细请查看:http://edu.csdn.net
相关推荐
黑马程序员 - 毕向东 - Java基础教学 - 第02天 个人观看视频总结文档
黑马程序员 - 毕向东 - Java基础教学 - 第01天 个人观看视频总结文档
黑马程序员 - Java基础教学 - 04 - 数组、进制转换、二维数组
黑马程序员 - Java基础教学 - 05 - 面向对象(1).doc
day01_Object类、常用API day02_Collection、泛型 day03_List、Set、数据结构、Collections day04_Map,斗地主案例 day05_异常,线程 day06_线程、同步 day07_等待与唤醒案例、线程池、Lambda...Java基础小节练习题答案
黑马程序员-java32期培训视频(基础+就业)黑马程序员-java32期培训视频(基础+就业)
黑马程序员 - Java基础教学 - 03 - 变量的作用域、for循环、break、continue、内存结构
黑马程序员-SpringCloud-学习笔记-03-Eureka注册中心
黑马程序员-SpringCloud-学习笔记01-认识微服务
黑马程序员 - Java基础教学 - 08 - 面向对象(4)-多态.doc
黑马QT讲义,适合QT入门,使用,教程很比较基础,新手可以看看,另外视频链接在哔哩哔哩中。
黑马程序员 - Java基础教学 - 06 - 面向对象(2) - 关于静态static的那些事.doc
黑马程序员--毕向东全套Java视屏,讲解的相当全面,各位如果需要,尽快下载哦! 另外如果视频链接存在打不开的问题,请留言,必定及时更新链接。
黑马程序员-SpringCloud-学习笔记-02-微服务拆分及远程调用
黑马程序员-梅兰商城项目实战,包含图片素材和编写源码。
C++黑马程序员-演讲比赛流程管理系统记录
NULL 博文链接:https://huangminwen.iteye.com/blog/1157983
《Java 基础入门》课后习题答案 第 第 1 章 Java 开发入门 一、填空题 1、 Java EE、Java SE、Java ME 2、 JRE 3、 javac 4、 bin 5、 path、classpath 二、选择题 1、ABCD 2、C 3、D 4、B 5、B 三、简答题 1、 面向...
NULL 博文链接:https://840198532-qq-com.iteye.com/blog/1490901
NULL 博文链接:https://840198532-qq-com.iteye.com/blog/1490903