zoukankan      html  css  js  c++  java
  • 自定义异常以及runtime类

     

            一、自定义异常:

    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异常来处理,无法在进行运算时,都要继承这个异常。

  • 相关阅读:
    笔记44 Hibernate快速入门(一)
    tomcat 启用https协议
    笔记43 Spring Security简介
    笔记43 Spring Web Flow——订购披萨应用详解
    笔记42 Spring Web Flow——Demo(2)
    笔记41 Spring Web Flow——Demo
    Perfect Squares
    Factorial Trailing Zeroes
    Excel Sheet Column Title
    Excel Sheet Column Number
  • 原文地址:https://www.cnblogs.com/warrior4236/p/6055732.html
Copyright © 2011-2022 走看看