异常
来源:互联网 发布:蜂窝移动数据用量清零 编辑:程序博客网 时间:2024/05/16 09:07
一:什么是异常?
异常是在Java中,对问题的描述,将问题进行对象的封装。
二:什么时候使用异常呢?
有可能出现不正常情况的时候使用异常,比如视频中说到的num =a/b;,因为在数学计算当中b不能是0或者负数,所以当b不是正数时就会出现异常。在使用当中比较常见的是RuntimeException和IORuntimeException,在实际的使用当中,我比较喜欢使用Exception,因为这个是最大的异常。这几个异常是系统当已有的异常,也可以自定义异常。
自定义异常需要继承Exception,可以使用父类定义好的功能将异常信息传递给父类的构造函数。自定义异常的模本如下
public class MyDemo { public static void main(String[] args) { Exce ex =new Exce();//创建一个类对象 try { int nt= ex.nul(6,-1);//调用函数 System.out.println(nt); } catch(MyException e )//抓取异常 { System.out.println(e.getMessage());//打印异常信息 } finally { System.out.println("程序结束"); } } }class MyException extends Exception//定义自己的异常{ MyException(String message) { super(message);//将异常信息给父类 }} class Exce{//定义函数,可以抛出异常 public static int nul(int a,int b)throws MyException { int num; if(b>0)//判断输入的数是否为正数,是则计算 { num =a/b; } else //不是则抛出异常信息 { throw new MyException("出错啦,不能为负数和0"); } return num; }}
这个的结果是,当输入0和负数时打印出
出错啦,不能为负数和0
程序结束
这个例程当中,使用到了异常处理语句
try
{
需要检测的代码。
}
catch(MyException e )//抓取异常,这个可以不用,当不需要处理异常时,这句可以省略
{
处理异常的代码。
}
finally //这一句,可以不用,当出现异常后还需要做某些动作时这个语句不能省略,这个定义一般用于关闭资源的,在IO流中常用
{
一定会则行的代码。
}
在使用异常的时候需要注意的是throw throws的用法。如例程当中
public static int nul(int a,int b)throws MyException
throws 用于函数上,即函数定义之后。
throw new MyException("出错啦,不能为负数和0");
throw使用在函数内,就是在函数实现功能的语句之内,作为一个语句存在。
总结:异常其实不是很难用习惯了就好,在现阶段的学习当中比较少用自定义异常。使用Java自带的异常时,只需要像MyDemo类内使用即可。而使用IO流时,比较常用的是抛出IO异常。
- 异常
- 异常!
- 异常
- 异常
- 异常
- 异常
- 异常
- 异常
- 异常
- 异常
- 异常
- 异常
- 异常
- 异常
- 异常
- 异常
- 异常
- 异常
- 黑马程序员_java基础自学反射的优点
- Using label elements to associate text labels with form controls
- LeetCode - LRU Cache
- 多线程
- String类
- 异常
- Stanford - Algorithms: Design and Analysis, Part 1 - Week 6 Assignment: hash table and heap
- 常见进程的调度算法
- 段寄存器的“前世今生”
- 算法之动态规划
- Intel Media SDK H264 encoder GOP setting
- 动态增加,删除表格行并按照表格列排序
- jstl
- 在ffmpeg中添加编解码器