首页 > 编程语言 >Java异常

Java异常

时间:2023-02-05 16:22:39浏览次数:37  
标签:Java 捕获 ArithmeticException Error 异常 public

Java异常

异常指程序运行中出现的不期而至的各种状况。

Java把异常当做对象来处理,并定义了一个基类java.lang.Throwable作为所有异常的超类。

通常分为Error和Exception两类。

Error

Error类对象由Java虚拟机生成并抛出,大多数错误与代码编写者执行的操作无关。

Exception

一般由程序逻辑错误引起,程序应该从逻辑角度尽可能避免这类异常的发生。


Error和Exception的区别:Error通常是灾难性的致命的错误,是程序无法控制和处理的,当出现这些异常时,Java虚拟机(JVM)一般会选择终止线程;Exception通常情况下是可以被程序处理的,并且在程序中应该尽可能的去处理。

异常捕获和抛出

捕获

public class Test1 {
    public static void main(String[] args) {
        int a = 1;
        int b = 0;
        try {
            System.out.println(a / b);
        } catch (ArithmeticException e) {//捕获异常
            System.out.println("程序出现异常,变量b不能为0");
        } finally {//善后工作,无论有没有捕捉到都执行
            System.out.println("Finally");
        }
    }

可以像if,else一样写多个catch捕获异常,但是大异常要写在下面,执行了上面的捕获异常就不会执行下面的捕获异常了。

抛出:

public class Test1 {
    public static void main(String[] args) {
        try {
            new Test1().test(1,2);
        }catch (ArithmeticException e){
            e.printStackTrace();
        }
    }
    public void test(int a,int b)throws ArithmeticException//方法中处理不了这个异常,方法向上抛出异常
    {
        if(b==0){
            throw new ArithmeticException();//主动抛出异常,一般在方法中使用
        }
    }
}

标签:Java,捕获,ArithmeticException,Error,异常,public
From: https://www.cnblogs.com/xingbingle/p/17093515.html

相关文章

  • JAVA 双亲委派与类加载器
    JAVA双亲委派与类加载器双亲委派虚拟机在加载类的过程中需要使用类加载器进行加载,而在Java中,类加载器有很多,那么当JVM想要加载一个.class文件的时候,到底应该由哪个类加......
  • Java流程控制
    Java流程控制用户交互Scannerjava.util.Scanner是Java5的新特征,我们可以通过Scanner类来获取用户输入基本语法:Scanners=newScanner(System.in);通过Scann......
  • 异常机制(Exception)
    异常机制(Exception)什么是异常实际工作中,遇到的情况不肯恩格式非常完美的。比如:你写的某个模块,用户输入不一定符合你的要求、你的程序要打开某个文件,这个文件可能不存在......
  • Java访问修饰符
    java中有两种类型的修饰符:访问修饰符和非修饰符。java中的访问修饰符指定数据成员,方法,构造函数或类的辅助功能(范围)。一共有4种类型的java访问修饰符:privatedefault......
  • java开发mis系统
    如何使用Java开发一个小型的信息管理系统,首先我们应该知道要使用什么样的方法。1.Java基础2.JSP+Servlet+JavaBeanJSP是服务器端的编程语言,见得比较多的是在一些网站上(......
  • 2023JAVA面试重点
    JAVA基础==和equals比较有什么区别?基本数据类型4种整数类型:int、long、byte、short2种浮点数类型:float、double1种字符类型:char1种布尔类型:boole......
  • java运算符和Scanner和进制运算
    1. 赋值运算符(1)基本介绍基本赋值运算符=inta=10;复合赋值运算符+=,-=,*=,/=,%=等,重点讲解一个+=,其它的使用是一个道理a+=b;[等价a=a+b;]a-......
  • 11-JavaDoc生成文档
    -encodingUTF-8-charsetUTF-8Idea方法生成zh_CN-encodingUTF-8-charsetUTF-8packagecom.wang.base;/***@authorwangpengfei*@version1.0*@si......
  • 2-安装java开发环境
    安装java开发环境1.百度搜索JDK8,找到下载地址2.记住安装路径3.配置环境变量​此电脑-->属性-->高级系统设置-->​环境变量-->系统变量,新建4.配置path变量......
  • Java 关键字 final
    目录1.用来修饰一个类2.用来修饰一个方法3.用来修饰一个局部变量4.用来修饰一个成员变量final关键字代表最终,不可变的。常见的四种用法:可以用来修饰一个类可以用......