java异常

本文详细阐述了Java中的异常概念,包括异常的分类(检查期异常和运行期异常)、Java异常体系结构、常见异常类型、错误类型以及如何使用try-catch-finally、throws和throw进行异常处理。
摘要由CSDN通过智能技术生成

异常

异常:程序在运行过程中出现的不正常情况;例如:用户输入数据有误;读写文件时,文件被强制删除;网络传输过程中突然断网。出现异常后会导致jvm(虚拟机)停止运行

异常指的并不是语法错误,语法错了,编译不通过,不会生成字节码文件根本不能运行;代码写错不属于异常范围

异常的分类

异常(Exception)分为:

检查期异常:在编译期间就会主动提醒程序员要进行处理的异常

运行期异常:在编译期间不会主动提醒程序员进行处理的异常

异常处理机制

java中默认的异常处理机制:将出现的异常按不同的类型分类,分别为每一种异常封装成一个类来进行表示,当出现某种类型的异常情况时,会抛出此类的对象,然后虚拟机停止运行

使用异常处理机制,对运行过程中出现的异常情况进行捕捉并处理

java异常体系结构

Throwable 是异常体系的超类

Error 错误

Exception 异常

常见的异常

1、算数异常 ArithmeticException

2、数组越界异常 ArrayIndexOutOfBoundsException

3、字符串索引越界异常 StringIndexOutOfBoundsException

4、类转换异常 ClassCastException

5、数字格式化异常 NumberFormatException

6、使用null中的方法或者属性(空指针异常) NullPointerException

错误

1、栈溢出错误 StackOverflowError (常见于递归算法中)

2、堆内存溢出 OutOfMemoryError

异常处理

在编码时,就对可能出现问题的代码(经验问题)预先编写一些处理机制,程序运行后出现异常就会执行处理机制,之后继续执行后续的程序。

java的异常处理是通过5个关键字来实现

try、catch、finally

try{

编写可能出现异常的代码

}catch(异常类型 异常名){

     `异常名.printStackTrace() //打印异常信息到控制台`

异常名.getMessage() //拿到异常原因

处理机制

}finally{//场景1 异常没有被捕捉到,后面的代码无法执行,但是finally中的代码是可以执行的

场景2 确保在出现异常的情况下,依然最终把对象关掉

finally中的代码总是可以执行

}

在catch中使用Exception类型,可以获取任意异常类型,但是必须要放在最后面

throws

throws 异常类型 :声明表示此方法中可能会出现给定的异常,并且该方法不处理异常,谁调用谁处理。在最顶层的main方法中就不能在抛出了就必须对异常进行处理

用在方法的声明部分,表示此方法中有可能出现某种类型的异常,此方法不处理异常,谁调用谁处理。

throw

用在方法体内部,抛出一个具体的异常对象,该方法终止运行,在异常对象的构造方法中自定义异常原因

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值