【安利Java零基础】java基础语法—20道常见异常库(一)

简介: 【安利Java零基础】java基础语法—20道常见异常库

前言


在编程中异常报错是不可避免的。特别是在学习某个语言初期,看到异常报错就抓耳挠腮,常常开玩笑说编程1分钟,改bug1小时。


异常指程序运行过程中出现的非正常现象,例如用户输入错误、除数为零、需要处理的文件不存在、数组下标越界等。异常机制本质就是当程序出现错误,程序安全退出的机制。在Java的异常处理机制中,引进了很多用来描述和处理异常的类,称为异常类。异常类定义中包含了该类异常的信息和对异常进行处理的方法。


Java是采用面向对象的方式来处理异常的,处理过程:


抛出异常:在执行一个方法时,如果发生异常,则这个方法生成代表该异常的一个对象,停止当前执行路径,并把异常对象提交给JRE。

捕获异常:JRE得到该异常后,寻找相应的代码来处理该异常。JRE在方法的调用栈中查找,从生成异常的方法开始回溯,直到找到相应的异常处理代码为止。

让我们来看看前面所讲到的异常类究竟是个什么东西!


其实所有的异常对象都是派生于Throwable类的一个实例。如果内置的异常类不能够满足需要,还可以创建自己的异常类。所有异常的根类为java.lang.Throwable。看看它的家族长什么样:


94c838016e514890bc151de9ee4c53ad.png


❤❤️💚❤️💙💚❤❤️💙💚❤️❤💙💚❤️💙❤💚❤️💙💚❤❤️💙💚❤️❤💙❤️💙💚❤


🐋1. 改变main方法名称


⚡⚡描述

若没有main方法,强制执行程序,控制台会报错:


5826b3ea65ab42e99a85171e8cfca3ee.png


⚡⚡解决方法

必须有一个方法叫做main

public class Demo01 {
    public static void main(String[] args) {
        //main方法
    }
}

2. 总是执行老代码


⚡⚡描述

每次执行,即使将代码更新,执行效果仍然是之前的老代码

⚡⚡解决方法

解决方案:手动删除out目录

4808b62c5336420d8a6068d8a9f36834.png

3. 执行括号报错

⚡⚡描述

db6c57244c9247e3b13f2c7d87153807.png

⚡⚡解决方法

检查括号成对出现


0e62aba5743a49d3a1802666ca2cbd71.png


🐋4. 书写休眠代码


⚡⚡描述

8434600d1f7f4d2fb8ac93dd43a50e44.png


⚡⚡解决方法

在红线处,按下Alt+回车,选择第一个,会自动补全代码


beeb148da9f04814998d8e80e0cb61f8.png


f3198d3439424abfb4a3a69d2f670cda.png


🐋5. 项目内容消失了


⚡⚡描述

567811430d384fe5b2383b9d56acf6cb.png

删除了.iml文件导致


⚡⚡解决方法

重新创建项目


🐋6. 变量运算报错


⚡⚡描述

e31daf10e4be4befbfa4ec66e1868838.png

⚡⚡解决方法

变量先赋值,后使用


🐋7. 变量超出保存范围


⚡⚡描述

e0df6771bf684a7aaa9126a16d81c51f.png


⚡⚡解决方法

缩小数字,或更换更大的数据类型,例如:long


🐋8. 使用关键字作为包名


⚡⚡描述

包名中使用了关键字java。运行报异常


2c87c396edb4478ca838b031439a65bc.png


⚡⚡解决方法

包名不能加关键字,重新更换包名


🐋9. 引入错误的String类型


⚡⚡描述

2ca9239f85dc4b5890deb90ff2fb05f3.png


⚡⚡解决方法

删除标红的引用语句,重新选择java.lang的String类型


5185c1c033e54d41bbbb6cb1e8beabff.png


使用注意:引用的String   (java.lang)


1fae2c6093dc4f5e8bbce1c04a9d05e2.png


🐋10. 除0异常


⚡⚡描述

若数字除0,会出现除0异常


9128f85a75aa45ef910c72a21643e7eb.png


⚡⚡解决方法

数字不能进行除0,重新书写除数


相关文章
|
21天前
|
存储 Java 编译器
【Java SE语法篇】7.面向对象——类和对象
【Java SE语法篇】7.面向对象——类和对象
【Java SE语法篇】7.面向对象——类和对象
|
21天前
|
存储 Java
【Java SE语法篇】3.运算符
【Java SE语法篇】3.运算符
|
21天前
|
存储 Oracle Java
【Java SE语法篇】2.数据类型和变量
【Java SE语法篇】2.数据类型和变量
|
18天前
|
存储 Java 程序员
Java数组全套深入探究——基础知识阶段2、数组的定义语法
Java数组全套深入探究——基础知识阶段2、数组的定义语法
15 0
|
21天前
|
存储 监控 Java
【Java SE语法篇】11.异常
【Java SE语法篇】11.异常
|
21天前
|
存储 Java 索引
【Java SE语法篇】10.String类
【Java SE语法篇】10.String类
|
21天前
|
Java 程序员
【Java SE语法篇】9.抽象类和接口
【Java SE语法篇】9.抽象类和接口
|
21天前
|
安全 Java C++
【Java SE语法篇】8.面向对象三大特征——封装、继承和多态
【Java SE语法篇】8.面向对象三大特征——封装、继承和多态
|
21天前
|
存储 机器学习/深度学习 Java
【Java SE语法篇】6.数组
【Java SE语法篇】6.数组
|
21天前
|
机器学习/深度学习 Java 编译器
【Java SE语法篇】5.方法
【Java SE语法篇】5.方法

相关产品

  • 云迁移中心