Java中Error和Exception的异同
Java中Error和Exception的异同
Error(错误)和Exception(异常)都是java.lang.Throwable类的子类,在Java代码中只有继承了Throwable类的实例才能被throw或者catch。
Exception和Error体现了Java平台设计者对不同异常情况的分类,Exception是程序正常运行过程中可以预料到的意外情况,并且应该被开发者捕获,进行相应的处理。Error是指正常情况下不大可能出现的情况,绝大部分的Error都会导致程序处于非正常、不可恢复状态。所以不需要被开发者捕获。
Error错误是任何处理技术都无法恢复的情况,肯定会导致程序非正常终止。并且Error错误属于未检查类型,大多数发生在运行时。Exception又分为可检查(checked)异常和不检查(unchecked)异常,可检查异常在源码里必须显示的进行捕获处理,这里是编译期检查的一部分。不检查异常就是所谓的运行时异常,通常是可以编码避免的逻辑错误,具体根据需要来判断是否需要捕获,并不会在编译器强制要求。
如下是常见的Error和Exception:
1)运行时异常(RuntimeException):
NullPropagation:空指针异常;
ClassCastException:类型强制转换异常
IllegalArgumentException:传递非法参数异常
IndexOutOfBoundsException:下标越界异常
NumberFormatException:数字格式异常
2)非运行时异常:
ClassNotFoundException:找不到指定class的异常
IOException:IO操作异常
3)错误(Error):
NoClassDefFoundError:找不到class定义异常
StackOverflowError:深递归导致栈被耗尽而抛出的异常
OutOfMemoryError:内存溢出异常
例1
下面代码会导致Java堆栈溢出错误。
// 通过无限递归演示堆栈溢出错误
class
StackOverflow
{
public
static
void
test
(
int
i){
if
(i ==
0
) {
return
; }
else
{ test(i++); } } }
public
class
ErrorEg
{
public
static
void
main
(String[] args)
{
// 执行StackOverflow方法
StackOverflow.test(
5
); } }
1234567891011121314151617
复制代码类型:[java]
运行输出为:
Exception
in
thread
“
main
”
java
.lang
.StackOverflowError
at
ch11
.StackOverflow
.test
(
ErrorEg
.java
:9)
at
ch11
.StackOverflow
.test
(
ErrorEg
.java
:9)
at
ch11
.StackOverflow
.test
(
ErrorEg
.java
:9)
at
ch11
.StackOverflow
.test
(
ErrorEg
.java
:9)12345
复制代码类型:
[java]
上面代码通过无限递归调用最终引发了
java.lang.StackOverflowError错误。
开课吧广场-人才学习交流平台
-
- 怎样快速的引流推广 怎样快速建群吸引粉丝
-
2024-02-24 20:02:59
-
- 武汉旅游攻略景点必去图片 武汉旅游攻略景点必去免费
-
2024-02-24 20:00:44
-
- 海明威说的一句名言 海明威说过的名言
-
2024-02-24 19:58:30
-
- 一到干燥天,嘴唇就干裂脱皮,总以为是缺水,却不知道是缺少它
-
2024-02-24 19:56:15
-
- 成都开心麻花文化传媒有限公司 开心麻花成都站
-
2024-02-24 19:54:01
-
- 八国联军是哪八国?你不知道的是,有两个已经消失在了历史长河中
-
2024-02-24 19:51:46
-
- 武汉周边两小时高铁的好玩地方是哪里 武汉周边动车两小时的地方
-
2024-02-24 19:49:31
-
- 怎么当好一位家庭主妇?如何做一个优秀的家庭主妇?
-
2024-02-24 19:47:17
-
- 深度剖析各类输入法:谁将成为您的最终选择?
-
2024-02-24 19:45:02
-
- 特斯拉汽车的价格(特斯拉suv30万左右)
-
2024-02-24 09:26:58
-
- 桃子用英语怎么读(菠萝用英语怎么读)
-
2024-02-24 09:24:53
-
- 旧粮票回收价格表(网络上回收的:全国通用粮票真的值几千吗?)
-
2024-02-24 09:22:48
-
- sunny(sunny一直有记忆吗)
-
2024-02-24 09:20:43
-
- 珠穆朗玛峰英语(珠穆朗玛峰英语怎么读音标)
-
2024-02-24 09:18:38
-
- 杨幂的421事件(421娱乐圈明星八卦事件真假?421页pdf百度云大尺度内容令人错
-
2024-02-24 09:16:33
-
- 适合女人9个小生意(女生做什么赚钱比较快)
-
2024-02-24 09:14:28
-
- 晴朗造句(晴朗造句怎么造)
-
2024-02-24 09:12:23
-
- 超长qq网名(超长昵称)
-
2024-02-24 09:10:18
-
- 重生之门哪个台播出(重生之门哪个台播出?详细介绍重生之门的播出平台及相关信
-
2024-02-24 09:08:13
-
- 80个心理学效应 30个心理学效应
-
2024-02-24 09:07:15