异常
说说异常
异常,顾名思义,就是指非正常的,在预期之外的情况 ,在程序运行过程中,稍不注意就会出现各种各样的异常,从而影响程序的正常流程,比如文件找不到,网络连接失败等等。
这里要注意:异常是指在程序运行过程中发生的意外情况, 而不是语法问题导致的编译错误。
在 Java 的面向对象世界中,异常当然也是对象,众多的异常对象,就描述了各种不同的异常情况,
java 的异常就有一个顶层父类,Throwable
,所有的异常都继承自它。在 Throwable
下,又分为两大类,一个是 Error
一个是Exception
。
Error
类及其子类,是指我们程序处理不了,或者说不该由程序处理的错误,这里错误,往往代表 JVM
在运行过程中出现了问题,比如,栈溢出错误,内存不足错误。
Exception
类和其子类,是指程序可以处理的错误,Exception
下又分为 RuntimeException
和非RuntimeException
,RuntimeException
类型,不强制你手动处理,比 如我们最常见的空指针异常,无需 try..catch
,也无需 throws
也能编译成功,而非 RuntimeException
的异常,如果你不手动处理,则会编译失败,比如 IO 异常。
受检异常:程序必须手动处理的异常
非受检异常:不强制程序处理的异常,除了RuntimeException
,Error
也属于非受检异常。
Error 和 Exception 的区别:
Error 通常是灾难性的致命的错误,是程序无法控制和处理的,当出现这些异常的时,java 虚拟机(JVM)一般会选择终止进程;
Exception 通常情况下是可以被程序处理的,并且在程序中应该尽可能的去处理这些异常。
本文来自博客园,作者:走马!,转载请注明原文链接:https://www.cnblogs.com/zou-ma/p/16135800.html
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术