8.1 异常概述

在程序中,异常可能由程序员没有预料到的各种情况产生,也可能由超出了程序员可控范围的环境因素产生,如用户的坏数据、试图打开一个根本不存在的文件等。在Java中,这种在程序运行时可能出现的一些错误称为异常。异常是一个在程序执行期间发生的事件,它中断了正在执行的程序的正常指令流。

【例1】0可以作为除数么?

在项目中创建Baulk类,在主方法中定义int型变量,将0作为除数的算术表达式赋值给该变量。代码如下:

public class Baulk{ //创建类Baulk

public static void main(String\[\] args){ //主方法

int result = 3/0; //定义int型变量并赋值

System.out.println(result); //将变量输出

}

}
运行结果:

Exception in thread "main" java.lang.ArithmeticException: / by zero

程序运行的结果报告发生了算术异常ArithmeticException(根据给出的错误提示可知,发生错误是因为在算术表达式"3/0"中,0作为除数出现),系统不再执行下去,提前结束。这种情况就是所说的异常。

有许多异常的例子,如数组溢出等。Java语言是一门面向对象的编程语言,因此异常在Java语言中也是作为类的实例的形式出现的。当某一方法中发生错误时,这个方法会创建一个对象,并且把它传递给正在运行的系统。这个对象就是异常对象。通过异常处理机制,可以将非正常情况下的处理代码与程序的主逻辑分离,即在编写代码主流程的同时在其他地方处理异常。

相关推荐
Java后端的Ai之路2 小时前
RAG 还是 Agent 自主检索?Claude Code 删掉向量库之后,我把选型讲透了
开发语言·人工智能·prompt·agent·rag
starzy19902 小时前
深入理解Scala高阶函数:函数式编程核心
开发语言·scala
2601_962106646 小时前
【Java Set综合实战】商品管理系统 + 图书收藏系统|Product、Book自定义类全套代码
java
RuoyiOffice7 小时前
SpringBoot+Vue3 凭证生命周期设计:审核、过账、冲销与反过账怎样保持账目一致
java·spring boot·事务·springboot3·财务系统·会计凭证·ruoyi office
2601_962106648 小时前
HashMap入门|工号-姓名键值存储、两种遍历方式、根据key/value查
java
czq_26867194878 小时前
Python打卡第46天
开发语言·python
杨凯凡8 小时前
Spring Framework 7 API 版本管理实战:请求头路由、兼容迁移与废弃策略
java·rest api·springframework·spring boot 4·api版本管理
T_Wizard8 小时前
同一个问题写了 4 遍:官方 SDK / HTTP / Spring AI / LangChain4j,到底该选哪个
java·ai编程
hai_android9 小时前
AudioTrack 深度解析:从原理到实战
android·java·kotlin
斯维赤9 小时前
限流、熔断、降级,你真的分得清吗?
java·后端·架构