异常

Java的异常体系
exception:
ArrayIndexOutofBounds   数组越界  
InputMismathchException    输入错误
NullPointerException    空指针异常  引用变量  没有指向有效的对象
ClassCastException    类型转换错误
error:
OutOfMemory(OOM)堆内存耗尽 ,没有可用的堆内存
StackOverFlow  栈溢出   递归函数没有写结束条件

格式:
任务主线程位置+异常类型+描述信息
+调用栈

Java程序如果不处理抛出的异常,那么异常最终抛给JVM;结束Java进程
try:
catch:
finally:一定会被执行,资源释放的代码写在finally块
throw:抛出指定类型的异常对象的
throws:把异常抛给上一级调用函数;

                                              Object
                                                 |
                                        Throwable(Java所有异常类型的基类类型)
                                                 |  
    ---------------------------------------------------------------------------------
      |                                                                   |
error(JVM错误)不能挽回                     Exception(应用程序抛出的异常)可以挽回                              
StackOverFlowError                                   |                                    |
OOMError                                  RuntimeException                    可检测异常
                                                    (运行时异常,不可检测)       FileNotFoundException
                                                  NullPointerException 
                                                   ClassCastException        
总结:
不可检测异常时运行时抛出的异常,编译阶段可以选择性的处理异常
可检测异常是编译阶段必须处理的异常,不然代码不能通过              
处理方式:
1:用try  catch 块处理;
2:在函数签名的后面通过throws 异常类型
---------------------------------------------------------------
注意事项:
1.同类型异常,放在一块;
2.把循环放在异常里面,异常处理放在外面;
            
如果自定义一个异常:
1:不可检测类需要继承 RuntimeException 
2:可检测类型需要继承Exception

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值