黑马程序员-java异常处理
来源:互联网 发布:简单的php网页 编辑:程序博客网 时间:2024/05/01 14:08
---------------------- android培训、java培训 、期待与您交流! ----------------------
1.为什么要处理异常
我们编写的程序在运行的时候总是会出现这样或那样的问题,如果我们不对这些异常进行处理,我们的程序就会崩溃,比如说我们在读一个文件的时候,有时候会找不到这个文件,再比如我们需要向磁盘中写文件,如果我们的磁盘满了,我们的程序就无法写入,这些异常是不可预料的,就是说这不是程序本身的问题,编译的时候可以通过,而是程序运行的时候出现的问题,这些问题是有可能存在的,虽然说情况不是很多,但是就是那往往万分之一的概率,就会使我们的程序崩溃,所以我们的程序必须对这些情况进行处理,这样才能保证我们程序的健壮性。
2.java的异常处理--try-catch语句
try
{
//可能发生异常的语句
}
catch(Exception e)
{
//对异常进行处理的语句
}
try语句用来捕捉可能发生的异常,在catch语句中对发生的异常进行处理。
e.getMessage()
输出异常信息
e.printStackTrace()
输出详细的异常信息
3.声明方法可能抛出的异常--Throws关键字
我们可以在一个方法后面加上Throws关键字来声明我们这个方法可能抛出的异常,这样在程序中调用这个方法的时候就必须对异常进行处理
我们在演示程序的时候如果不想对异常进行处理,我们可以通过Throws Exception声明异常,交由调用这个方法的程序处理,但这只限演示程序,实际开发中不要这么做。
4.抛出异常--throw关键字
我们可以通过throw关键字自己来抛出异常
5.对多种异常的处理--多个catch语句
有时候我们的try语句可能会抛出多种异常,我们可以用多个catch语句进行处理
如:
try
{
//可能发生异常的语句
}
catch(Exception1 e)
{
//对异常进行处理的语句
}
catch(Exception2 e)
{
//对异常进行处理的语句
}
根据发生异常的类型会从前到后进行匹配,然后进入相应的catch语句中执行异常处理代码
6.实现程序的跳转--try-catch语句的巧用
try
{
if(x==0)
throw Exception1
else
throw Exception2
}
catch(Exception1 e)
{
//x==0时需要执行的代码
}
catch(Exception2 e)
{
//x!=0时需要执行的代码
}
7.需要注意的问题
- 不要对异常不做任何处理
try
{
//可能发生异常的程序
}
catch(Exception e)
{
}
不要为了省事,仅仅是套用了try-catch语句的格式,骗过编译器,而不对异常做任何的处理,这是没有任何意义的,这样当程序发生异常的时候,你也不容易发现异常。不容易发现问题,改进程序
- 声明异常的方法重写的问题
如果一个方法声明了异常,对于子类中重写(覆盖)的方法,声明的异常可以是父类中的异常或者是异常的子类,并且必须是父类中异常的子集,不能声明新的异常。
---------------------- android培训、java培训 、期待与您交流! ----------------------
详细请查看:http://edu.csdn.net/heima
- 黑马程序员-java异常处理
- 黑马程序员--Java异常处理
- 【黑马程序员】Java异常处理
- 黑马程序员--java异常处理
- 黑马程序员--Java异常处理笔记
- 黑马程序员:JAVA异常处理机制
- 黑马程序员------java的异常处理
- 黑马程序员-----------------java异常处理总结
- 【黑马程序员】java中的异常处理机制
- 黑马程序员---java异常处理机制
- 黑马程序员--Java异常处理机制
- 黑马程序员_05 java异常处理总结
- 黑马程序员-Java基础-异常处理总结
- 黑马程序员 Java基础知识总结-异常处理
- 黑马程序员-Java异常处理机制
- 黑马程序员-java异常处理机制
- 黑马程序员-----关于java的异常处理
- 黑马程序员---java基础---异常处理
- xml规则
- 9.20课下总结Panel、Table、BulletedList控件的使用
- UML图中的其他几种图(时序图,协作图,状态图,活动图,对象图)
- Latent Semantic Analysis (LSA) Tutorial 潜语义分析LSA介绍 六
- 给程序员的Vim速查卡
- 黑马程序员-java异常处理
- 计算机视觉领域的一些牛人博客,超有实力的研究机构等的网站链接
- UML
- 对jQuery的初步认识
- xml基础2
- UML 各种图
- 主题数据库
- xml中的DTD
- 软件的生命周期 及 RUP