谈谈Java的异常处理

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情
1.很多新手碰到异常处理的时候都偷懒不想看,觉得没有必要,其实只是新手的代码就那么几行还体会不到异常处理的好处,自然不想看了嘛,可是学习不是马虎的事嘛!!那么我们为什么需要异常处理呢??
早期的编程语言(比如C语言)没有异常处理,通常是遇到错误返回一个特殊的值或设定一个标志,并以此判断是不是有错误产生。随着系统规模的不断扩大,这种错误处理已经成为创建大型可维护程序的障碍了。于是在一些语言中出现了异常处理机制,比如在Basic中的异常处理语句"on error goto”,而Java则在C++基础上建立了新的异常处理机制.
2.Java中的异常处理
Java通过面向对象的方法进行异常处理,把各种不同的异常进行分类,并提供了良好的接口。这种机制为复杂程序提供了强有力的控制方式。同时这些异常代码与“常规”代码分离,增强了程序的可读性,编写程序时也显得更灵活。

  异常处理还有一个好处是在你不能确定和处理异常时,你可以不处理,而把问题提交上去。另一方面,异常处理机制使得错误处理代码更有条理,更便于维护
 
3.Java的异常处理类
在Java中,每个异常都是一个对象,它是Throwable类或其它子类的实例。当一个方法出现异常后便抛出一个异常对象,该对象中包含有异常信息,调用这个对象的方法可以捕获到这个异常并进行处理。

  Throwable类有两个标准子类:java.lang.Error和java.lang.Exception即错误和异常。错误Error类一般是指虚拟机相关的问题,如系统崩溃、虚拟机出错误、动态链接失败等,这一类错误无法恢复或不可能捕获,将导致应用程序中断。异常Exception类则是指一些可以被捕获且可能恢复的异常情况,如数组下标越界ArrayIndexOutOfBoundsExcepton、数字被零除产生异常ArithmeticException、输入/输出异常IOException等。

  提示:Java编译器要求Java程序必须捕获或声明所有非运行时的异常,如:FileNotFoundException、IOException等。因为,对于这类异常来说,如果程序不进行处理,可能会带来意想不到的结果。但运行时出现异常可以不做处理,因为这类异常很普遍,全部处理可能对程序的可读性和运行效率产生影响
 
3.Java中的异常处理的两种方式:
(1).使用try...catch关键字;
 
try {
  // Code that might generate exceptions
} catch(Type1 id1) {
  // Handle exceptions of Type1
} catch(Type2 id2) {
  // Handle exceptions of Type2
} catch(Type3 id3) {
  // Handle exceptions of Type3
}finally
{
  ....
}
注意:finally块中的代码一定执行的,不管异常处理的怎么样
有时为了确保一段代码不管发生什么异常都要被执行,可以使用关键词finally来标出这样一段代码。一个成员函数返回到调用它的成员函数,或者通过一个没捕捉到的异常,或者通过一个明确的return语句,finally子句总是恰好在成员函数返回前执行
 
(2) .使用throw,throws关键字
c++ 标准异常类层次结构_有效处理 Java 异常三原则,一文解除你的疑难杂症 Java异常提供了一种识别及响应错误情况的一致性机制,有效地异常处理能使程序更加健壮、易于调试。异常之所以是一种强大的调试手段,在于其回答了以下三个问题:什么出了错?在哪出的错?为什么出错?在有效使用异常的情况下,异常类型回答了“什么”被抛出,异常堆栈跟踪回答了“在哪“抛出,异常信息回答了“为什么“会抛出,如果你的异常没有回答以上全部问题,那么可能你没有很好地使用它们。有三个原则可以帮助你在调试... 阅读详情

相关推荐

Java中的Exception异常分类与try,catch的处理

一、 异常:   1:错误的分类           1)Error:错误(不可控),一般指的是系统方面的异常,比如 蓝屏,内存溢出,jvm运行环境出现了问题。           2) Exception:是可控的异常,程序员可以在编写程序时解决的错误。              3)**两者的父类为Throwable; 2:可以控制的异常:           Exception:是所有异常...

大黑牛的博客 1万+

谈谈你对Java异常处理机制的理解

谈谈我的理解:异常处理机制可以说是让我们编写的程序运行起来更加的健壮,无论是在程序调试、运行期间发生的异常情况的捕获,都提供的有效的补救动作,任何业务逻辑都会存在异常情况,这时只需要记录这些异常情况,抛出异常,绝不能生吞异常,不要再finally中处理返回值。 先丢个问题:请对比 Exception 和 Error,另外,运行时异常与一般异常有什么区别? 经典回答 Exception...

796

C++编译器如何实现异常处理

与传统语言相比,C++的一项革命性创新就是它支持异常处理。传统的错误处理方式经常满足不了要求,而异常处理则是一个极好的替代解决方案。它将正常代码和错误处理代码清晰的划分开来,程序变得非常干净并且容易维护。本文讨论了编译器如何实现异常处理。我将假定你已经熟悉异常处理的语法和机制。本文还提供了一个用于VC++的异常处理库,要用库中的处理程序替换掉VC++提供的那个,你只需要调用下面这个函数:

1313

Java学习之谈谈异常处理

前言 何为异常? 举个例子:如我们的程序需要对数据库做一个插入的操作,但是可以会因为各种原因而导致发生了错误,这些错误中包含我们能预见的错误,同时也包含了我们不能预见的错误,而为了解决这些在运行中可能出现的错误,每个编程语言都有其对错误的处理。 而Java中专门引入了异常(Exception:翻译过来为例外),异常机制可以及时有效的帮助开发者处理程序中运行的错误。 Java异常种类可分为:...

xiaoyaGrace的博客 193

java 异常 理解_谈谈你对Java异常处理机制的理解

谈谈我的理解:异常处理机制可以说是让我们编写的程序运行起来更加的健壮,无论是在程序调试、运行期间发生的异常情况的捕获,都提供的有效的补救动作,任何业务逻辑都会存在异常情况,这时只需要记录这些异常情况,抛出异常,绝不能生吞异常,不要再finally中处理返回值。先丢个问题:请对比 Exception 和 Error,另外,运行时异常与一般异常有什么区别?经典回答Exception 和 Error ...

weixin_36002026的博客 220

谈谈java中的异常处理规范

java中的异常分为两大块,分别是error,checkedException,uncheckedException 三者设计理念不一样,体现了java设计者对不同异常情况的分类 error表示发生了意料之外的错误,大部分情况下,会使得程序处于不可恢复的状态,不需要也不应该被捕获,比如OutOfMemoryError StackOverFlowError NoClassDefFoundError;这种异常发生后,只能乖乖的查问题,该改配置改配置,该改代码改代码了 checkedException,un

wb_snail的博客 564

java异常处理方式推荐做法_谈谈Java异常处理这件事儿

此文已由作者谢蕾授权网易云社区发布。欢迎访问网易云社区,了解更多网易技术产品运营经验。前言我们对于“异常处理”这个词并不陌生,众多框架和库在异常处理方面都提供了便利,但是对于何种处理才是最佳实践,也是众说纷纭。异常处理是否得当直接关系到软件的健壮性,今天就谈谈我对异常处理这件事儿的拙见。首先,先说一下异常处理的通俗解释:当危险或知道事情不对的时候做出的反馈。目录结构Java异常分类常见的异常处理...

weixin_32868705的博客 226

谈谈Java异常处理这件事儿

此文已由作者谢蕾授权网易云社区发布。欢迎访问网易云社区,了解更多网易技术产品运营经验。前言我们对于“异常处理”这个词并不陌生,众多框架和库在异常处理方面都提供了便利,但是对于何种处理才是最佳实践,也是众说纷纭。异常处理是否得当直接关系到软件的健壮性,今天就谈谈我对异常处理这件事儿的拙见。首先,先说一下异常处理的通俗解释:当危险或知道事情不对的时候做出的反馈。目录结构Java异常分类常见的异常处理...

weixin_33816821的博客 86

网易java修复_谈谈Java异常处理这件事儿

此文已由作者谢蕾授权网易云社区发布。欢迎访问网易云社区,了解更多网易技术产品运营经验。前言我们对于“异常处理”这个词并不陌生,众多框架和库在异常处理方面都提供了便利,但是对于何种处理才是最佳实践,也是众说纷纭。异常处理是否得当直接关系到软件的健壮性,今天就谈谈我对异常处理这件事儿的拙见。首先,先说一下异常处理的通俗解释:当危险或知道事情不对的时候做出的反馈。目录结构Java异常分类常见的异常处理...

weixin_36227730的博客 198

谈谈Java中有哪些常见的异常?详细说说你对Java异常处理的理解

为了更好地描述特定的错误情况,可以自定义异常类。自定义异常通常继承自Exception(受检异常)或(非受检异常)。自定义异常类可以携带更多的错误信息,方便问题定位。

yc20221031的博客 347

谈谈Java中有哪些常见的异常?详细说说我对Java异常处理的理解

异常处理Java 程序中非常重要的一部分,它可以帮助我们处理程序运行时可能出现的各种问题,确保程序的健壮性和稳定性。通过合理地使用异常处理机制,可以使 Java 程序更加健壮,提高程序的可维护性和用户体验。: 记录异常信息对于调试和监控程序非常重要,应该使用日志框架而不是简单的打印语句。: 创建自定义异常可以让异常处理更加清晰和具体,使得错误更容易理解和处理。: 方法可以选择捕获异常并处理它,或者继续向上抛出,让调用者来处理。: 当一个异常的产生是由于另一个异常引起的,可以使用。块来捕获和处理异常

qq_74825504的博客 594

谈谈 Java 异常处理

转自:http://www.pinlue.com/article/2020/09/0700/0011202044800.html

yihuliunian的博客 152
上一篇: 谈谈Java的IO操作
下一篇: 谈谈Java中数组
Cpp_Java_Man
博客等级 码龄21年 26粉丝 67原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值