java 异常处理

作者:@kuaiquxie
作者的github:https://github.com/bitebita
本文为作者原创,如需转载,请注明出处:https://www.cnblogs.com/dzwj/p/15369993.html


java 异常处理

Throwable中包括Error 和Exception,Exception包括IOException和RuntimeException

抛出异常

1.异常运算条件  ArithmeticException

2.非法索引访问数组  ArrayIndexOutOfBoundsException

3.将一个错误类型的对象存储到数组中  ArrayStoreException

4.向方法传递了一个不合法的参数  IllegalArgumentException

5.程序试图将字符串转换为一种数值类型,但该字符串不能转换为适当格式  NumberFormatException

6.拒绝访问一个类的时候  IllegalAccessException

7.请求的变量不存在  NoSuchFieldException

8.请求的方法不存在  NoSuchMethodException

异常方法

public String getMessage()

返回关于发生的异常的详细信息。这个消息在Throwable类的构造函数中初始化了

public Throwable getCause()

返回一个Throwable对象代表异常原因

public String toString()

使用getMessage()的结果返回类的串级名字

public void printStackTrace()

打印toString()结果和栈层次到System.err,即错误输出流

捕获异常

try

{

//程序代码

}catch(ExceptionName e1)

{

// catch块

}

将以上放在异常可能出现的地方

 

多重捕获块就是在一个try后面跟多个catch

 

throw关键字

如果一个方法没有捕获到一个检查性异常,那么该方法必须使用throws关键字来声明,throws关键字放在方法签名的尾部,

也可以使用throw关键字抛出一个异常,无论它是新实例化的还是刚捕获到的

finally关键字

finally关键字用来创建在try 代码块后面执行的代码块

无论是否发生异常,finally 代码块中的代码总会被执行

在finally代码块中,可以运行清理类型等收尾善后性质的语句

finally 代码块出现在catch 代码块最后,语法如下:

try

{//程序代码}

catch(异常类型1 异常的变里名1)

{//程序代码}

catch(异常类型2 异常的变里名2)

{//程序代码}

finally

{//程序代码}

 

注意事项:

catch 不能独立于try 存在

在try/catch后面添加finally 块并非强制性要求的

try代码后不能既没catch块也没finally 块

try, catch, finally块之间不能添加任何代码

 

posted @   kuaiquxie  阅读(32)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
点击右上角即可分享
微信分享提示