0

0

Java 中的异常处理

PHPz

PHPz

发布时间:2024-07-24 12:43:39

|

934人浏览过

|

来源于dev.to

转载

java 中的异常处理

当你运行java代码或程序时,它要么编译并执行,要么抛出错误。当代码抛出异常时,它是错误或异常的结果。

错误更严重。它发生在代码范围之外,但在应用程序运行的环境内。该程序预计不会捕获并处理错误。

一些错误示例是

  • 内存不足错误
  • 虚拟机错误
  • stackoverflowerror

异常发生在代码范围内。它也称为执行错误,这意味着它在代码执行期间发生。程序员应该捕获并处理程序中的异常。

立即学习Java免费学习笔记(深入)”;

这篇文章将更多地关注异常和运行时错误。您将了解有关异常以及如何处理 java 程序中的异常错误的所有信息。

java 中的执行错误类型

java中存在三种类型的执行错误。这是每个人的细分

。编译时错误

这种类型的错误称为编译错误或检查错误。 java 程序在编译阶段会抛出此代码。

换句话来说,这个错误是在javac代码编译为字节码的时候发生的。编译时错误通常是由代码语法错误引起的。

例如,当程序员未能在语句末尾添加分号或未能在打印前初始化变量时。

public class javaexceptioncodes {
    public static void main (string []args){
        int y = 10      //no semicolon
        system.out.println(y);
    }

}

。运行时错误

运行时错误也称为异常错误或未经检查的错误。它在程序执行时发生。代码可以编译,但在运行时会抛出错误。

运行时错误又可以进一步分为内置异常和用户定义异常。内置异常的示例包括:

  • arrayindexoutofboundsexception
  • 算术异常
  • 文件未找到异常
  • 空指针异常

例如,如果用户输入 int 而不是字符串或插入大于数组大小的值。

public class javaexceptioncodes {
    public static void main (string []args) {
        int nombas[] = {1, 2, 3, 4, 5};
        system.out.println(nombas[6]); 

    }
}
//arrayindexoutofboundsexception

。逻辑错误

也称为语义错误,如果程序的逻辑输出存在错误,就会发生这种错误。例如,3 + 3 显示输出 7,或者当您登录帐户并登陆另一个个人资料时。

编译时错误是最容易捕获的,因为你的 ide 总是会向程序员指出这个错误。大多数时候逻辑错误是最难看到的错误,因为代码不会抛出编译时或运行时错误。

异常处理的概念

异常处理用于捕获程序中的错误并维持程序执行的正常流程。通常,一旦程序抛出错误,代码就会停止执行。

提前捕获并处理错误将使程序能够跳过有错误的代码块并继续执行程序的其余部分。

云从科技AI开放平台
云从科技AI开放平台

云从AI开放平台

下载

异常处理方法:

try – catch – final – throw – throws是java中异常处理的方法列表。让我们通过示例详细分析它们:

。尝试

try 用于封闭可能抛出异常的一行或几行代码。还有一个嵌套的 try,它是带有内部 try 块的 try。他们有相同的目的。

语法

try{

}

。抓住

catch 是一段代码,用于捕获 try 块中抛出的错误。

语法

try{

}
catch (exception e){

}

多个捕捉块

public class javaexceptioncodes {
    public static void main (string []args) {
        int x = 10;
        int y = 0;
        int z ;
        int nombas [] = {5, 6, 7, 8, 9};
        try {
            system.out.println(z = x / y);
            system.out.println(nombas[6]);
        }
        catch (arithmeticexception e){
            system.out.println("can't divide by 0. choose another number" + e);
        }
        catch(arrayindexoutofboundsexception e){
            system.out.println("array out of bound" + e);
        }
        system.out.println("end");
    }
}

。最后

最后是一个可选的代码块,通常放置在 try 和 catch 代码块之后。它用于执行重要的代码。无论程序是否抛出错误,finally 块都会被执行。

语法

try{

}
catch (exception e){

}
finally{

}

。扔

throw 是一个关键字,用于在方法或代码块内引发异常。

语法

public class JavaExceptionCodes {
    public static void main (String []args) {

           try { throw new ArithmeticException("Try Run");
           }
           catch (ArithmeticException e){
               System.out.println("Catch Exception Error");
           }

    }
}

。投掷

与 throw 关键字不同, throws 关键字不用于抛出异常。但是,它指定该方法可能存在异常。 throws 用于方法签名中,而不是方法内部。

处理异常的最佳实践

  1. 一个 try 块可以有多个语句(代码行)。最好创建多个 catch 块来捕获每个语句中的错误。

  2. 如果您使用多个 catch 块,请始终指定异常类型。

  3. 如果一个try块中有多个语句,并且你不知道出错的语句,可以在其他异常的末尾创建一个最终的一般异常来捕获未知的错误。

  4. 始终将通用异常 catch 块放在其他自定义异常 catch 块的末尾。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

760

2023.08.03

js截取字符串的方法
js截取字符串的方法

js截取字符串的方法有substring()方法、substr()方法、slice()方法、split()方法和slice()方法。本专题为大家提供字符串相关的文章、下载、课程内容,供大家免费下载体验。

221

2023.09.04

java基础知识汇总
java基础知识汇总

java基础知识有Java的历史和特点、Java的开发环境、Java的基本数据类型、变量和常量、运算符和表达式、控制语句、数组和字符串等等知识点。想要知道更多关于java基础知识的朋友,请阅读本专题下面的的有关文章,欢迎大家来php中文网学习。

1567

2023.10.24

字符串介绍
字符串介绍

字符串是一种数据类型,它可以是任何文本,包括字母、数字、符号等。字符串可以由不同的字符组成,例如空格、标点符号、数字等。在编程中,字符串通常用引号括起来,如单引号、双引号或反引号。想了解更多字符串的相关内容,可以阅读本专题下面的文章。

650

2023.11.24

java读取文件转成字符串的方法
java读取文件转成字符串的方法

Java8引入了新的文件I/O API,使用java.nio.file.Files类读取文件内容更加方便。对于较旧版本的Java,可以使用java.io.FileReader和java.io.BufferedReader来读取文件。在这些方法中,你需要将文件路径替换为你的实际文件路径,并且可能需要处理可能的IOException异常。想了解更多java的相关内容,可以阅读本专题下面的文章。

1228

2024.03.22

php中定义字符串的方式
php中定义字符串的方式

php中定义字符串的方式:单引号;双引号;heredoc语法等等。想了解更多字符串的相关内容,可以阅读本专题下面的文章。

1204

2024.04.29

go语言字符串相关教程
go语言字符串相关教程

本专题整合了go语言字符串相关教程,阅读专题下面的文章了解更多详细内容。

193

2025.07.29

c++字符串相关教程
c++字符串相关教程

本专题整合了c++字符串相关教程,阅读专题下面的文章了解更多详细内容。

131

2025.08.07

TypeScript类型系统进阶与大型前端项目实践
TypeScript类型系统进阶与大型前端项目实践

本专题围绕 TypeScript 在大型前端项目中的应用展开,深入讲解类型系统设计与工程化开发方法。内容包括泛型与高级类型、类型推断机制、声明文件编写、模块化结构设计以及代码规范管理。通过真实项目案例分析,帮助开发者构建类型安全、结构清晰、易维护的前端工程体系,提高团队协作效率与代码质量。

1

2026.03.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号