news 2026/5/31 1:26:14

新手初次接触IO操作以及异常处理(try/catch 或 throws)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
新手初次接触IO操作以及异常处理(try/catch 或 throws)

一.概念和定义:

1️⃣IO全称Input/Output(输入 / 输出),在 Java 里指数据在程序和外部设备间的传输

  • 输入 (Input):外部数据 → 程序(读文件、读键盘)

  • 输出 (Output):程序数据 → 外部(写文件、打印内容)Java 中 IO 主要靠流 (Stream)实现,IO 相关方法默认受检异常。

2️⃣try-catch 概念

属于 Java异常处理语法,用来捕获并处理代码运行时的错误。

1. try:包裹可能出异常的代码块,程序正常走这里。

2.catch:当 try 里代码报错,程序跳到这里执行,专门处理异常。

3️⃣二者关联核心概念

Java 中IO 操作会抛出 IOException(IO 异常),这是受检异常,编译器强制要求处理,二选一:1.用try-catch就地捕获处理;

2.用throws把异常向上抛出。

二.代码示例:

import java.io.FileReader; import java.io.IOException; public class IOTryCatchDemo { public static void main(String[] args) { // try:包裹【可能出错的IO代码】 try { // IO 操作:打开并读取文件 FileReader reader = new FileReader("test.txt"); System.out.println("文件读取成功!"); reader.close(); // 关闭流 } // catch:如果上面出错,就会跳到这里处理 catch (IOException e) { // 异常处理:告诉用户哪里错了 System.out.println("出错啦!文件找不到或无法读取"); // 打印详细错误信息(新手必加) e.printStackTrace(); } } }

三.优点以及缺点:

优点:

1.程序不会崩溃

没有 try-catch,IO 一出错(文件找不到)程序直接卡死、闪退。有了 try-catch,出错了程序还能继续跑

2.安全、稳定

IO 操作(文件、网络)天生不可靠,Java 强制抓异常就是为了让程序更健壮

3.可以自定义错误提示

你可以告诉用户:

  • 文件不存在

  • 权限不够

  • 磁盘满了而不是一堆看不懂的报错。

4.代码更规范
Java 规定 IO 必须处理异常,不写就编译失败。写 try-catch 是标准写法

缺点:

1.代码变多、变复杂

本来一行 IO,现在必须套 try-catch,代码变长。新手看着乱。

2.结构嵌套深

多个 IO 操作嵌套,代码会变成:

try{ try{ try{ }catch }catch }catch

可读性变差。

3.新手容易写错

  • 漏关流
  • catch 抓错异常
  • 异常吞了不处理这些都是新手常犯错误。

4.如果处理不当,会隐藏 bug

如果 catch 里什么都不写,bug 会被悄悄吃掉,你根本不知道哪里错了。

四.总结:

IO 配合 try-catch 是 Java 标准且安全的写法,能有效避免程序崩溃,但会让代码变得更繁琐、复杂度更高。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/31 1:22:07

stm32平衡车

大于15W。模块进入保护 中断: 单片机应对突发事件的一种方式EXTI : external intterupt and event controller 片上外设EXTI : 捕捉输入信号的变化,并产生中断 EXIT只有十六个,,, GPIOA 有16个&…

作者头像 李华
网站建设 2026/5/31 1:21:56

Gemini3.5多模态能力升级实测这些场景

做多模态AI应用测试时我会在Kula AI聚合平台(leadhi.cn)上同时调几个模型做端到端对比。最近两周把Gemini 3.5的多模态能力在图片理解、视频分析、音频处理几个场景上做了密集测试。这篇文章聊聊哪些场景提升明显,哪些地方还有差距。多模态不…

作者头像 李华
网站建设 2026/5/31 1:20:06

Unity材质球大合集

https://download.csdn.net/download/weixin_71802416/92924213

作者头像 李华
网站建设 2026/5/31 1:13:45

基于小程序的大学生竞赛管理系统毕设

博主介绍:✌ 专注于Java,python,✌关注✌私信我✌具体的问题,我会尽力帮助你。一、研究目的本研究旨在构建一个基于小程序平台的大学生竞赛管理系统,以解决传统竞赛管理模式中存在的信息传递效率低下、资源分配不均以及赛事组织流程复杂等问题…

作者头像 李华