java除零异常_JAVA异常处理

java除零异常_JAVA异常处理出bug是写代码的时候非常常见的情况,今天就来讲一下。首先明确一下什么是异常,代码正常运行不会出问题,但是遇到意外,参数变量,不符合要求,发生意外,代码终止运行,就是异常。1.常见的异常有以下几种:1.System.out.println(1/0);//java.lang.ArithmeticException:/byzero除以零结果无穷大异常2.Stringstr=null;Syst…

大家好,又见面了,我是你们的朋友全栈君。

出bug是写代码的时候非常常见的情况,今天就来讲一下。

首先明确一下什么是异常,代码正常运行不会出问题,但是遇到意外,参数变量,不符合要求,发生意外,代码终止运行,就是异常。

1.常见的异常有以下几种:

1.System.out.println(1/0);//java.lang.ArithmeticException:/ by zero

除以零结果无穷大异常

2.String str = null;

System.out.println(str.length());//java.lang.NullPointerException

空指针异常

http://3.int[] arr = {1,2};

System.out.println(arr[arr.length]);//java.lang.ArrayIndexOutOfBoundsException: 2

超出索引范围异常

4.SimpleDateFormat sdf = new SimpleDateFormat(“yyyy年MM月dd HH时mm分ss秒 E”);

sdf.parse(“fsdfsdf”);//ParseException

输入参数错误

2.异常的具体分类如下

Throwable:java中所有的错误或异常

Error:程序无法处理的异常

Exception:程序可以处理的异常

RuntimeExption:运行时才会产生的异常,编译时不会产生

ArithmeticException:出现异常的运算条件,比如除以零

3.异常的处理方式:

1.自己捕获处理

1) try-catch的语法结构及链式结构多异常处理方式

Ø语法:

try{

//可能产生异常的代码

}catch(捕获的异常类型 e){//e是形式参数

//该异常捕获之后要做的操作

}catch(捕获的异常类型 e){//e是形式参数

//该异常捕获之后要做的操作

}finally{

//异常发生之后一定会执行到的语句块:

//①流资源关闭②释放锁

}

2)语句块执行顺序:

1)顺序执行:进入异常捕获语句块

2)如果产生异常,执行catch捕获,捕获到对应异常,并且对应catch后面的代码块

3)finally语句块一定会执行到:前提前面语句没有执行System.exit(0)退出虚拟机

2.抛出异常:方法后面使用throws 需要抛出的异常类型

示例:

void eat() throws ArithmeticException, CloneNotSupportedException{

SimpleDateFormat sdf = new SimpleDateFormat(“yyyy年MM月”);

//sdf.parse(“fsdfsd”);

}

注意事项:

①方法抛出运行时异常,在方法头可以不用抛出异常

②方法抛出编译时异常:方法必须处理异常,或者抛出同类异常,或者抛出异常该异常的父类类型异常

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/144694.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月18日 下午10:40
下一篇 2022年5月18日 下午10:40


相关推荐

  • pytest运行_pytest执行多个py文件

    pytest运行_pytest执行多个py文件前言pytest运行完用例之后会生成一个.pytest_cache的缓存文件夹,用于记录用例的ids和上一次失败的用例。方便我们在运行用例的时候加上–lf和–ff参数,快速运行上一

    2022年7月31日
    12
  • uuid生成方法

    uuid生成方法UUID 生成方法算法原理 UidGenerator 是百度开源的 Java 语言实现 基于 Snowflake 算法的唯一 ID 生成器 而且 它非常适合虚拟环境 比如 Docker 另外 它通过消费未来时间克服了雪花算法的并发限制 UidGenerator 提前生成 ID 并缓存在 RingBuffer 中 压测结果显示 单个实例的 QPS 能超过 6000 000 托管地址 https github com baidu uid generator 依赖环境 JDK8 MySQL 用于分配 WorkerI

    2026年3月20日
    3
  • GG修改器修改钻石_gg是啥意思

    GG修改器修改钻石_gg是啥意思图就不上了,金钱、钻石和基因等修改,孤单亲测。工具:方法:一.打开GG修改器后选择六号特工二.内存范围:Ca1.钻石修改:进入角色—-选择草帽特工搜索:2500搜索类型:Q全选–修改–更多–增量填1切换下角色你会发现值变了返回搜索找到对应的值修改即可!改成-9999999992.金钱修改:进入关卡打死一个怪后搜索金钱的值搜索类型:Q直接修改即可!改成9999999993.基因修…

    2025年9月2日
    10
  • Explosion公司2019年NLP技术盘点与突破

    Explosion公司2019年NLP技术盘点与突破

    2026年3月15日
    1
  • FindWindowEx函数

    FindWindowEx函数当你想控制一个现有的窗口程序时,就需要获取那个程序的窗口句柄。比如有一些黑客软件需要查找到窗口,然后修改窗口的标题。在外挂流行的今天,惊奇地发现它们也可以修改输入窗口的文字。这其中,就需要使用到FindWindowEx函数来定位窗口。下面就来使用这个函数来实现控制Windows里带的计算器程序。打开计算器程序,最小化在状态下面,运行本例子,点击创建按钮后,就可以点按钮,就会把计算器显示在最前面。

    2022年5月31日
    102
  • Thread.setDaemon详解

    Thread.setDaemon详解java用户线程与守护线程详解

    2025年7月14日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号