前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >java除零异常_JAVA异常处理

java除零异常_JAVA异常处理

作者头像
全栈程序员站长
发布2022-08-30 20:42:12
2.3K0
发布2022-08-30 20:42:12
举报

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

出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.cn/144694.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022年5月1,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档