当前位置: 首页 > news >正文

【JAVA基础篇教学】第六篇:Java异常处理

博主打算从0-1讲解下java基础教学,今天教学第五篇: Java异常处理。

异常处理是Java编程中重要的一部分,它允许开发人员在程序运行时检测和处理各种错误情况,以保证程序的稳定性和可靠性。在Java中,异常被表示为对象,它们是Throwable类的子类。常见的异常包括受检异常(Checked Exception)和非受检异常(Unchecked Exception)。

一、异常分类 

  1. 受检异常(Checked Exception):必须在方法的throws子句中声明或在try-catch块中捕获的异常,通常是由外部因素引起的,如IO异常、数据库访问异常等。

  2. 非受检异常(Unchecked Exception):是RuntimeException或其子类的异常,通常由编程错误导致,如空指针异常、数组下标越界异常等。

二、异常处理机制

Java的异常处理机制主要由try-catch块、throws关键字和finally块组成。

1、try-catch块:用于捕获和处理异常。try块中包含可能抛出异常的代码,catch块用于捕获和处理异常。如果try块中的代码抛出异常,则会跳转到与之匹配的catch块,执行相应的处理代码。

try {// 可能产生异常的代码
} catch (ExceptionType e) {// 处理异常的代码
}

2、throws关键字:用于声明一个方法可能抛出的异常,将异常处理交给调用者处理。当方法内部抛出受检异常时,可以在方法签名中使用throws关键字声明异常。 

public void readFile() throws IOException {// 读取文件的代码
}

3、finally块:可选的finally块用于执行清理工作,不论是否发生异常都会执行。通常用于释放资源,如关闭文件、数据库连接等。 

try {// 可能产生异常的代码
} catch (ExceptionType e) {// 处理异常的代码
} finally {// 清理工作
}

4、示例:

import java.io.IOException;public class ExceptionHandlingExample {public void readFile() throws IOException {// 模拟抛出IOExceptionthrow new IOException("File not found");}public static void main(String[] args) {ExceptionHandlingExample example = new ExceptionHandlingExample();try {example.readFile();} catch (IOException e) {System.out.println("IOException caught: " + e.getMessage());}}
}

 在这个示例中,readFile方法声明了可能抛出IOException异常,而main方法中使用try-catch块捕获了这个异常并进行处理。

三、建议

在和第三方对接的时候,建议使用try,catch进行捕获,然后使用日志log打印错误和正常返回结果,这样后期排查问题的时候就很方便!

http://www.lryc.cn/news/336762.html

相关文章:

  • 【ubuntu20.04】安装GeographicLib
  • 从0开始搭建基于VUE的前端项目(四) Vue-Router的使用与配置
  • 力扣爆刷第117天之CodeTop100五连刷71-75
  • ActiveMQ入门案例(queue模式和topic模式)
  • 2024年最新云服务器ECS租用报价费用表-阿里云
  • 第四百五十四回
  • 蓝桥杯算法题:蓝桥骑士
  • sonar搭建(linux系统)
  • 中科软面试题
  • (五)PostgreSQL的管理工具pgAdmin
  • wsl 2在windows11上的设置
  • 常用API时间Arrays
  • CentOS7.9.2009安装Kibana7.11.1
  • Linux nfs 环境搭建
  • 中移物联网 OneOS 操作系统环境搭建和工程创建
  • AI技术创业机会之教育科技
  • 【备战蓝桥杯】2024蓝桥杯赛前突击省一:图论模版篇
  • GEE数据集——2019—2023年全球固定宽带和移动(蜂窝)网络性能(更新)
  • ChatGPT 写作秘籍:指导您如何利用ChatGPT撰写学术论文
  • 【原创】springboot+mysql宠物管理系统设计与实现
  • Android app如何禁止运行在模拟器中
  • libcurl 简单实用
  • 华为OD技术面试-有序数组第K最小值
  • idea如何debug看springsecurity的过滤器顺序
  • 【力扣】125.验证回文串
  • Fantasy Map Creator 2
  • 什么是云原生
  • 为什么要“挺”鸿蒙?
  • 去掉el-date-picker弹窗默认回显当前月份的方法
  • 绝地求生:PUBG×杜卡迪联名上线!参与投稿评论赢取精美好礼