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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 考哪些证书国家有补贴_提交书证申请书范本

    考哪些证书国家有补贴_提交书证申请书范本当下的互联网应用如果是外网访问,一般都是https方式访问,需申请https证书目录Whyhttps?Whatishttps?Howtocreatehttps?Whyhttps?http明文传输不安全,因此需要进行加密处理,加密后端http就是httpsWhatishttps?https涉及很多概念,对称非对称加密、CA、数字签名、证书等等。有兴趣查看这里漫画解说https这里简要总结:A(客户端浏览器)——通过https://www.

    2022年10月1日
    3
  • 2. Pycharm的介绍与使用[通俗易懂]

    2. Pycharm的介绍与使用[通俗易懂]使用Python原生IDLEIDLE是Python软件包自带的一个集成开发环境,点击开始–>Python安装包–>IDLE。启动IDLE时,会显示>>>,可以在>>>后面输入代码。在PythonShell输入代码回车后会立即执行,并直接在下面显示执行的结果。如下图所示:在原生IDLE模式下编写的代码只停留于内存当中,当关闭原生IDL…

    2022年8月26日
    7
  • Windows中查看PowerShell版本和virbox版本,vagrant 版本

    Windows中查看PowerShell版本和virbox版本,vagrant 版本

    2021年10月28日
    47
  • DruidDataSource配置属性列表

    DruidDataSource配置属性列表

    2021年8月30日
    60
  • 0001.Latex中中文双引号和单引号的写法「建议收藏」

    0001.Latex中中文双引号和单引号的写法「建议收藏」0001.Latex中中文单引号和双引号的写法如何在Latex或者Ctex中输入中文双引号or单引号?在Latex中,查看Tab键上面的键,在英文状态下连续输入两个“,然后输入Enter键左边的单引号’’,输入两次,也是英文状态下哦。可以将一个矩阵$“\cdot$”按列拉直成一个向量注意引号与$符号的位置。同样的,中文单引号如下输入可以将一个矩阵$`\Gamma$’按列拉直成一个向量…

    2022年6月25日
    89
  • 工具杂记-notepad++正则表达式匹配替换

    工具杂记-notepad++正则表达式匹配替换这里其实是这样的就是有时候我们建表不规范,导致idea自动生成的实体类有bug。get/set后面的字母为小写,这样但要使用反射的时候。就会出现问题。找不到这个方法。这里我们可以通过使用notepad++用正则表达式进行替换。这是一个很好的工具:这里可以替换文件夹里面所有文件。这里我以单个文件为例:如下点击repalceAll即可替换运行后结果如下:…

    2022年5月17日
    37

发表回复

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

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