Java小白常见异常|ArithmeticException算数异常的解决过程
一. 异常代码示例
对于很多刚开始学习Java的人来说,是很容易遇到各种异常的,比如算数异常。今天壹哥就以一个实际案例来给大家进行说明:
public class Test {public static void main(String[] args) {int a = 1;int b = 0;int c = a/b;System.out.println(c);}
}
运行上面的程序,会出现如下异常:
Exception in thread "main" java.lang.ArithmeticException: / by zeroat Test.main(Test.java:5)
二. 解决方案
很多初学者遇到异常时通常都不会查看异常信息,而是通过直接查看代码来找出原因。当然,在代码很少的情况下,这是可以的。但这样会形成一个不良的习惯:在后续编码的过程中,经常会忽视异常信息。如果我们直接在编码中查找异常,在代码很多的情况下,查找异常的效率极低,还可能无法找到异常引发的原因。
我们正确解决异常的方式,首先应该是查看异常信息,比如该案例中出现了
ArithmeticException
异常,这是一个算数的异常。这个异常出现的位置如下:
at Test.main(Test.java:5)
由这一行异常信息确定,也就是在 Test
这个类的第5行出现了算数异常,那么只需要去查看第5行代码:
int c = a/b;
既然是算数异常,那就是说在执行int c = a/b;时出现的异常,说明这里的代码有问题。那么我们可以在这之前做一个判断逻辑,判断出b不等于0才能执行后面的算数运算,代码如下:
public class Test {public static void main(String[] args) {int a=1;int b=0;//除数不能等于0if(b!=0){System.out.println(a/b);}else{System.out.println("0不可以做为除数");}}
}
那为什么要在这里加这个判断逻辑呢?这是因为我们要把除数不能等于0的情况给考虑到,不然也会产生异常,这些其实都是一些基础知识。
三. 总结
通过这个案例,我们会发现,在学习的过程中,我们的基础知识一定要牢固!基础知识薄弱的童鞋,可以联系我获取免费基础资料。如果你还有其他问题,可以在评论区给我留言,壹哥看到了会及时给你解答。
Java小白常见异常|ArithmeticException算数异常的解决过程相关推荐
- Java中常见RuntimeException与其他异常表及Exception逻辑关系详解
Java中常见RuntimeException与其他异常表及Exception逻辑关系详解 前言 常见`RuntimeException` 其他错误类型 `Error`类 `Exception`类 E ...
- ArithmeticException算数异常
** ArithmeticException算数异常 ** //ArithmeticException:算数异常 public void test3() { try { Scanner scan = ...
- [Java基础]常见的运行时异常
运行时异常:编译时不会报错,但程序运行起来如果有错误就会报异常. 以下为常见的运行时异常: ArithmeticException 算数运算异常,由于除数为0引起的异常: ClassCastExc ...
- 学习java的第15天之 异常
异常产生的原因 因为硬件缺失,程序不够严谨,必须的内容缺失导致的程序问题称为异常 类似与人生病 异常的分类 Throwable Error: 证明硬件出现问题,不处理 常见的错误: OutOfMemo ...
- Java中常见的十八种异常!
作为一只敬业的程序员,就是不能接受我的编程出现bug!可见我们对bug是如此的深恶痛觉!它已成为我们职业生涯中的拦路虎,所以今天小千精心为大家总结一下Java中常见的几种异常,望大家多多注意. 1.j ...
- java常见的5个异常_java常见的5种异常举例
在Java学习过程中,我们会碰到各种各样的异常,现将面试过程中遇到的常见异常做一罗列并举例: 1.NullPointerException: 空指针异常.菜鸟编程经验发现这个异常是经常会发生的,属于运 ...
- 列举一些列举常见的运行时异常
运行时异常都是 RuntimeException 子类异常 NullPointerException - 空指针异常 ClassCastException - 类转换异常 IndexOutOfBoun ...
- Java中常见的单词
abstract (关键字) 抽象 ['.bstr.kt] access vt.访问,存取 ['.kses]'(n.入口 ...
- java中常见的英语单词
abstract (关键字) 抽象 ['.bstr.kt] access vt.访问,存取 ['.kses]'(n.入口 ...
最新文章
- 博为峰Java技术题 ——JavaSE Java Swing组件类的层次
- android之权限大全
- ftp可以传输什么类型文件_使用FTP文件传输典型案例配置
- nginx 响应服务器静态,405 Not Allowed,nginx静态文件响应post请求
- linux工具:ssh---未完
- 算法设计与分析——动态规划——最长公共子序列
- Java 8中最快的垃圾收集器是什么?
- 160 - 31 cracking4all.2
- [LeetCode] Two Sum
- bios设置开机双系统选择_打破专家的断言,突破微软和英特尔的封锁,惠普电脑玩转双系统...
- php网站采集器,PHP采网址(列表页处理)插件的开发方法
- 杭电 1272 并查集判断环
- win8.1硬盘安装ubuntu14.04双系统
- 利用 IntelliJ IDEA 进行代码对比的方法
- 常见视频封装格式(1) — AVI
- 2022年合肥及合肥市各地稳岗补贴申请条件及补贴标准申请流程实施细则
- 《天才在左,疯子在右》读记
- Python——自动签到脚本
- linux内核源码分析之proc文件系统(三)
- 欢聚时代YY/测试实习面试
热门文章
- emd_visu函数_EMD方法基本基本知识
- CPU卡的一个发卡详细过程
- 【二分】C. Keshi Is Throwing a Party
- 5种常见的重复形式,平面设计手法进阶学习
- Fabric-solo on k8s
- 处理Zabbix历史数据库办法二---使用MySQL表分区
- ISA, x86,x86_64, AMD64, 指令集等名词解析
- 【VOLTE案例解析】南京移动拨打10086回落到2G,拨打其他电话正常使用VOLTE
- fckeditor 上传图片 php_FCKeditor上传文件重命名for php
- 【Python爬虫网站数据实战】Python爬虫 统计淘宝商品数据+数据可视化