Java中错误与异常的区别

Java中错误与异常的区别

1.异常处理的基本概念

首先要有个概念,程序不可能完美无缺,因此在开发一个完整的应用系统时,必须考虑 如何处理各类错误或异常等问题。 Java的Exception异常类可以为每种错误提供一个定制的处理方式。

2.错误与异常

在Java中,错误和异常是两个不同的概念。
错误分为语法错误、运行时错误和逻辑错误三类

  1. 语法错误(编译错误) 指未按照 Java 语法规则书写代码而产生的错误。一般集成开发软件均能提示和标 注语法错误之处。
  2. 运行时错误(语义错误) 程序没有语法错误,但在运行时从外部获得不正确的数据从而导致的错误。如将11 位电话号码赋值给一个整型变量将超出其表示的数据范围而引发错误。 这类错误一般会导致程序异常终止。
  3. 逻辑错误 逻辑错误是人为导致的错误,表现为程序运行结果与预期不符。如程序的本来意愿 是计算a+b,但疏忽写成了a-b,这类错误一般不会导致程序终止,但显然不可能 得到正确的结果。

错误与异常的区别
上述三种错误是程序从开发到调试运行阶段面临的必须处理的问题。
但将错误和异 常放在一起讨论时,“错误”不是指上述三种中的任何一种。
1. 错误:
一般指程序运行时遇到的硬件或操作系统的错误,如内存溢出、不能读取硬盘分区、 硬 件驱动错误等。这是致命的,将导致程序无法运行,同时也是程序本身不能处理 的。
2. 异常:
指在运行环境正常的情况下遇到的运行时错误。异常是非致命的,但也会导致程序 的非正常终止。 Java可以捕获和处理异常。

  • 6
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Java错误(Error)和异常(Exception)是两个不同的概念。 错误(Error)通常表示严重的问题,它们是由于系统级别的故障或资源耗尽等无法恢复的情况导致的。错误是无法被程序员处理的,例如OutOfMemoryError(内存耗尽)、StackOverflowError(栈溢出)等。当出现错误时,程序通常会终止并抛出错误信息。 异常(Exception)则表示可预测的问题,它们通常由程序逻辑或外部因素引起,但可以被程序员处理。异常分为两种类型:已检查异常(Checked Exception)和未检查异常(Unchecked Exception)。 已检查异常是指在编译时强制要求程序处理的异常,它们都是Exception类或其子类的实例。例如,IOException、SQLException等。在处理已检查异常时,程序员必须使用try-catch语句块捕获并处理这些异常,或者在方法签名声明方法可能抛出这些异常。 未检查异常也称为运行时异常(RuntimeException),它们是Exception类的子类,但是编译器不会强制要求程序处理它们。例如,NullPointerException、ArrayIndexOutOfBoundsException等。未检查异常通常由程序员的错误引起,比如访问空引用、数组越界等。程序可以选择捕获并处理这些异常,但并非强制性要求。 总结起来,错误(Error)是无法被程序员处理的严重问题,而异常(Exception)是可以被程序员捕获和处理的可预测问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Unknown To Known

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值