Java异常

Posted tractors

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java异常相关的知识,希望对你有一定的参考价值。

一、异常Throwable类程序在运行时出现的不正常现象;位于java.lang包;

二、异常分类:

  1.Error类:(严重)

  2.Exception类:(不严重)

    (2.1RuntimeException:运行时异常,可处理,可不处理;

    (2.2CheckedException:受查异常,必须处理,否则无法编译;

    //受查异常也称编译异常;除了RuntimeException和它的子类,其他异常均为编译异常;

三、异常产生:

  1.自动抛出异常:当程序在运行时遇到不符合规范的代码或结果时,会产生异常,由JVM自动抛出;

  2.手动抛出异常:语法:throw new 运行时异常类型("实际参数") 

  //如果其它方法调用抛出或声明异常的方法,则此方法也要抛出、声明或者捕获异常;

  3.产生异常结果:相当于遇到return语句,导致程序因异常终止;

四、异常声明:throws//子类或实现类中的声明异常类型必须比父类小;

五、throw和throws的不同:

  1.throws使用在函数上;throw使用在函数内;(函数上:小括号和大括号之间)

  2.throws后面为异常类,可以多个,用逗号隔开;throw后面为异常对象;

六、异常处理:

  try 需要检测的代码

  catch (Exception e) 处理异常的代码;(处理方式)

  finally 一定会执行语句;常用于释放资源

七、对捕获异常方法操作:

  1.String e.getMessage();异常信息;

  2.String e.toString();异常名称+异常信息;

  3.e.printStackTrace();异常名称+异常信息+异常来源位置;

七、throw抛出RuntimeException:无需throws声明;

八、自定义异常:继承Exception;

 

class FuShuException extends Exception
    /*private String msg;
    FuShuException(String msg)
        this.msg=msg;
    
    public String getMessage()
        return msg;
    */
    FuShuException(String msg)
        super(msg);
    

class Outer
    int div(int a,int b) throws FuShuException
        if (b<0)
            throw  new FuShuException("123");
        
        return a/b;
    

public class test
    public static void main(String[] args)
        Outer d = new Outer();
        try
            int x = d.div(4, -1);
            System.out.println(x);
        
        catch (FuShuException e)
            System.out.println(e.toString());
            System.out.println(e.getMessage());
        
    

 

以上是关于Java异常的主要内容,如果未能解决你的问题,请参考以下文章

面试Java异常面试题

Java异常

java中 方法中抛出异常处理方法

Java - 异常处理

Java的异常处理语法

Java异常结构