首页 > 编程语言 > 详细

JAVA-06-异常处理

时间:2021-01-21 16:29:26      阅读:36      评论:0      收藏:0      [点我收藏+]

异常处理

程序中不正常的情况、意外称为异常。

JAVA中异常被当作对象来处理,所有异常的基类为Java.lang.Throwable。


异常分类

  • 错误Error
  • 异常Exception

Error

由虚拟机抛出,并终止程序。


Exception

RuntimeException
  • ArrayIndexOutOfBoundsException(数组下标越界)
  • NullPointerException(空指针异常)
  • ArithmeticException(算术异常)
  • MissingResourceException(资源丢失)
  • ClassNotFoundException(无法找到类)

抛出、捕获异常

  • try //监控异常

  • catch //捕获特定的异常并处理

  • finally //最终必须执行块

package com.jzj.six;

public class useException {
    public static void main(String[] args) {
        int a = 1;
        int b = 0;
        try{
            System.out.println("try监控区域");
            System.out.println(a/b);
        }catch (ArithmeticException e){
            //当捕获到异常,终止监控区域并执行该块。
            System.out.println("catch块");
        }finally {
            //当catch或者try执行完毕,最终执行该块
            System.out.println("finally块");
        }
    }
}

捕获动作catch,从上往下,优先级递减,异常范围递增。


自定义异常

  • throws //声明可能发生的异常。
  • throw //触发某些条件使用该关键字抛出对应异常对象。

继承Exception类

package com.jzj.six;

public class Test {
    //调用此方法可能会抛出对应的异常
    public static void testException(String name) throws MyException {
        //当参数为jzj,抛出该异常
        if("jzj".equals(name)){
            throw new MyException(name);
        }
        System.out.println("end");
    }
	//通过throws声明的异常,无需使用try-catch捕获也可通过编译
    public static void main(String[] args) throws MyException{
        testException("jzj");
    }
}

package com.jzj.six;
//自定义异常类
public class MyException extends Exception{
    private String name;

    public MyException(String name) {
        this.name = name;
    }
    //异常打印信息
    @Override
    public String toString() {
        return "MyException:不允许name为" + name;
    }
}

JAVA-06-异常处理

原文:https://www.cnblogs.com/jzj-code/p/14307672.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!