博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
自定义异常以及runtime类
阅读量:6983 次
发布时间:2019-06-27

本文共 1198 字,大约阅读时间需要 3 分钟。

 

        一、自定义异常:

1、自定义异常的概念:在java编程中,我们会遇到很多问题,但是这些问题异常,java并没有给我们定义好,那么我们就要自己定义这些异常,这就是自定义异常;

2、throws 是声明异常的,它在函数的后面,后面接异常类名;而throw 是抛出异常的,它定义在函数的里面,后面跟异常对象。如果没有定义抛出,遇到异常,会默认产生一个异常对象,然后抛给函数的调用者,最后会抛给虚拟机,虚拟机调用默认处理方法进行处理。

3.注意所有的自定义异常都要继承Exception这个父类,才能调用父类中的方法,进行抛出操作。

4,在使用getMessage()方法获取信息时,没有信息,我们可以在自定义类中,对对象进行初始化,而且可以调用Exception中的方法,在构造函数中写上super(message);就可以了。

下面通过代码来体现以上特点:

class ExceptionDemo4
{
 public static void main(String[] args)
 {
   Rid r=new Rid();
   try
  {
   int x=r.function(4,-1);
      System.out.println("x="+x);
  }
  catch(Exception e)
  {
   System.out.println("chu shu is fushu");
   System.out.println(e.getMessage());
   System.out.println(e);
   e.printStackTrace();
  }
  System.out.println("over");

 }

}
//定义一个异常类
class ShuFuException extends Exception
{
 private String message;
 ShuFuException(String message)
 {
  //this.message=message;
  super(message);
 }
 //父类中已经定义好了getMessage的功能,我们直接
 //拿来用就可以了
 
}
//定义一个功能类
class Rid
{
 public int function(int a,int b)throws ShuFuException
 {
  if(b<0)
   throw new ShuFuException("除以负数了");
  return a/b;
 }
}

     二、Exception类中有一个特殊的异常子类,就是Runtime类,运行时异常

如果在函数里面抛出异常,即使函数后不声明异常,一样可以编译运行。

如果函数后面声明了异常,即使调用该方法的函数不做出处理,编译一样可以通过,只是没有结果。

所以当异常不需要处理时,我们就继承RuntimeException异常来处理,无法在进行运算时,都要继承这个异常。

转载地址:http://wbtpl.baihongyu.com/

你可能感兴趣的文章
新书上市:《FLUENT 14.0超级学习手册》
查看>>
mysql数据库query cache
查看>>
使用docker commit 来扩展一个image
查看>>
jsp 防止sql注入 之 preparestatement篇(转载)
查看>>
Linux之Ansible入门用法(实验解析)
查看>>
Linux系统如何在开机时修改root密码
查看>>
Anychat的绝对路径与相对路径
查看>>
我的友情链接
查看>>
如何使用网络库实现应用级消息收发
查看>>
Single Area OSPF
查看>>
rhel6之yum
查看>>
selenium+ant+testng测试框架简单介绍
查看>>
自己写的DBUtil数据库连接工具类
查看>>
登录多实例MySQL失败,修改密码临时解决,原因不明
查看>>
SCCM 2007 R2部署、操作详解系列之部署篇
查看>>
hystrix thread pool Metrics
查看>>
MDT2012部署问题,MDT中的驱动是如何工作的
查看>>
Selenium 使用要点记录<二>
查看>>
Windows与Linux系统拷贝文件之pscp的使用
查看>>
_xmlXPathNewContext", referenced from
查看>>