黑马程序员_Java异常机制
来源:互联网 发布:数据科学家 认证 编辑:程序博客网 时间:2024/05/17 05:13
------- android培训、java培训、java学习型技术博客、期待与您交流! --------
1.异常
指在运行时期发生的不正常情况。在Java中用类的形式对不正常情况进行描述和封装对象,描述不正常的情况的类,就称为异常类。
Java中异常分为运行是异常和编译时异常。
运行时异常是由于数据的错误和程序本身缺陷导致的,是不可修饰的,所以当出现异常时,程序员要找出引发该异常的问题,并予以解决。
编译时异常通常是程序中调用了某些声明来了异常的方法,当调用这些被声明了异常的方法时,要对这些异常进行预处理。
throws和throw的区别 throws使用在函数上;
throw使用在函数内;
throws抛出的是异常类,可以抛出多个,用逗号隔开
throw抛出的是异常对象
class FushuIndexExceptionextends Exception{
FuShuIndexException()
{ }
FuShuIndexException(String msg)
{
super(msg);
}
}
classDemo
{
public int method(int[] arr,int index)
{
if(arr==null)
throw new NullPointerException("数组的引用不能为空!");
if(index>=arr.length)
{
throw newArrayIndexOutOfBoundsException("数组的角标越界啦:"+index);
}
if(index<0)
{
throw new FuShuIndexException("角标变成负数啦!!");
}
return arr[index];
}
}
class ExceptionDemo3
{
public static void main(String[] args) {
int[] arr = new int[3];
Demo d = new Demo();
int num = d.method(null,-30);
System.out.println("num="+num);
System.out.println("over");
}
}
2.自定义异常
在编写程序过程中,有些异常是Java中没有进行描述的,这时我们就要根据java描述异常的规则自定义异常类。自定义异常类时这个类要继承Exception类,并提供相应的构造函数。
至于自定义异常为什么要继承Exception,是因为Exception继承自Throwable,异常具有可抛性。这是Throwable体系的独有特性,如果自定义异常类时不继承Exception,那么自定义的异常不会具有异常固有的特征。
3.异常的捕捉处理
具体格式:
try{
//需要被检测异常的代码
}
catch(异常类 变量)//该变量用于接收发生的异常对象
{
//处理异常的代码
}
finally
{
//一定会被执行的代码
}
4.异常处理原则:
(1)函数内容如果抛出需要检测的异常,那么函数上必须声明,否则必须在函数内用try catch 捕捉,否则编译失效。
(2)如果调用了声明异常的函数,要么try catch 要么throws,否则编译失败。
(3)能解决的用catch,解决不了的,用throws告诉调用者,由调用者解决。
(4)一个功能如果抛出多个异常,那么调用时,必须有对应多个catch进行针对性的处理;内部有几个需要检测的异常,就抛出几个。
5.异常注意事项:
(1)子类在覆盖父类方法时,父类方法如果抛出异常,那么子类的方法只能抛出父类的异常或者该异常的子类。
(2)如果父类抛出多个异常,那么子类只能抛出父类异常的子集。如果父类的方法没有抛出异常,那么子类覆盖时绝对不能抛,只能try.
------- android培训、java培训、java学习型技术博客、期待与您交流! ----------
详情请查看:http://www.itheima.com
- 黑马程序员_java异常机制
- 黑马程序员_java异常机制
- 黑马程序员_Java异常机制
- 黑马程序员_Java异常处理机制
- 黑马程序员_java中的异常机制
- 黑马程序员_java异常处理机制
- 黑马程序员_Java异常处理机制
- 黑马程序员_java的异常机制
- 黑马程序员_JAVA中异常处理机制
- 黑马程序员_Java异常
- 黑马程序员_Java异常
- 黑马程序员_JAVA异常
- 黑马程序员_java异常
- 黑马程序员_Java异常
- 黑马程序员_JAVA:异常
- 黑马程序员_java异常
- 黑马程序员_Java当中异常处理机制2
- 黑马程序员_java基础_java异常笔记
- 配置GG进程检查点(checkpoint) 说明
- storm分布式流计算引擎
- 蜗牛—cocos2dx之window7环境搭建
- 监控 GG 状态 说明
- ubuntu MySQL安装指南
- 黑马程序员_Java异常机制
- GG Trails 说明
- JavaScript之appendChild、insertBefore和insertAfter
- RowSet与ResultSet的区别
- HR系统完成
- 配置 GG 安全 说明 与 示例
- SkyDrive Easy Download (SkyDrive 批量下载器)
- android performClick使用
- python 学习笔记1------概述1