Java攻略之异常

本文介绍了Java中的异常处理,包括异常的分类、编译时异常与运行时异常的区别,以及JVM的默认处理方案。异常处理通过try-catch语句块确保程序的健壮性,同时讲解了如何使用throws声明异常和throw抛出异常。自定义异常的创建有助于提供更具描述性的错误信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

异常

概述

异常:就是程序出现了不正常的情况。程序在执行过程中,出现的非正常的情况,最终导致JVM的非正常停止。

注意:语法错误不算在异常体系中。

异常体系

↓——Throwable——↓
errorExcePtion
RuntimeException 及其子类除RuntimeExcePtion之外所有的异常

Error:严重问题,通过代码无法处理。比如:内存溢出

Exception:称为异常类,它表示程序本身可以处理的问题

Runtime Exception及其子类:运行时异常。(空指针异常,数组索引越界异常)

除Runtime Exception之外所有的异常:编译期必须处理的,否则程序不能通过编译。(日期格式化异常)

编译时异常和运行时异常

java文件
↓ Javac.exe编译时异常,是在编译成class文件时必须要处理的异常,也称之为受检异常↓
字节码文件
↓ Java.exe运行时异常,在编译成class文件不需要处理,在运行字节码文件时可能出现的异常。也称之为非受检异常
运行结果

简单来说:编译时异常就是在编译的时候出现的异常,运行时异常就是在运行时出现的异常。

JVM的默认处理方案

如果程序出现了问题,我们没有做任何处理,最终JVM会做默认的处理。

1、把异常的名称,异常原因及异常出现的位置等信息输出在控制台

2、程序停止执行

异常处理方式——throws

格式:throws 异常类名;

注意:这个格式是写在方法的定义处,表示声明一个异常

1、编译时异常因为在编译时就会检查,所以必须要写在方法后面进行显示声明

2、运行时异常因为在运行时才会发生,所以在方法后面可以不写

抛出异常对象——throw

格式:throw new 异常();

注意:这个格式是在方法内的,表示当前代码手动抛出一个异常,下面的代码不用再执行了。

抛出处理异常的意义

1、在方法中,当传递的参数有误,没有继续运行下去的意义了,则采取抛出处理,表示让该方法结束运行。

2、告诉调用者方法中出现了问题

异常处理方式——try...catch...

格式:

try{

可能出现异常的代码;

} catch(异常类名 变量名){

异常的处理代码;

}

好处:可以让程序往下执行。

Throwable 的成员方法

方法名说明
public String getMessage()返回此throwable的详细消息字符串
public String toString()返回此可以抛出的简短描述
public void printStackTrace()把异常的错误信息输出在控制台

自定义异常

目的:为了让异常信息更加的见名知意

步骤:

1、定义异常类

2、写继承关系

3、空参构造

4、带参构造

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值