java 检查ssn_Java中的异常 - osc_ssnt89cw的个人空间 - OSCHINA - 中文开源技术交流社区...

本文介绍了Java中的反常处理机制,包含try-catch-finally、throw和throws等要害字的使用,并探讨了查看反常与非查看反常的区别。此外,还提供了一个自界说反常的实例。

废话少说,今天来看看Java的反常处理。

Java的反常

议论Java的反常之前,先看看反常处理程序能带来什么优点?明显的优点是下降过错处理代码的复杂度。Java中的反常处理机制能帮助开发者简化处理反常的本钱,假如产生反常了能够有两种方式处理,第一种为捕捉反常并测验康复,比方网络反常,超时反常等,另一种便是向高层调用抛出反常。

Java中的反常处理机制便是用要害字try-catch-finally,throw或许throws处理,下面就分别说明使用方:

Try代码块用于监听程序是否呈现问题,也便是监听有可能产生问题的代码块Catch捕捉反常,能够指定特定反常进行捕捉Finally要害字后面的代码块,在try-catch后总会执行,用来封闭文件,封闭连接等。Throw抛出反常,假如咱们不想处理这个反常,能够通过throw抛出,也能够转换成新的反常抛出Throws给办法签名指定可能抛出的反常。Java的反常的基类是Throwable,这个类完成了Serializable接口,因此是能够序列化的,而且提供了存储和打印执行反常栈的信息。

Throwable有两个子类完成类,一个是Error,另一个便是Exception。Error代表不行康复的过错,属于JVM内部的过错,比方体系内存溢出了;Exception表明体系呈现了一些问题,但是还不至于体系完全不行用,通过重试或许改动输入参数有能够康复的反常,有包括查看反常和非查看反常。

查看反常(ChekedEcxception):查看反常承继于Exception,这类反常假如不处理在编译期间就会报错,比方数据库连接反常DataAccessException,文件不存在反常FileNotFoundException,IO反常IOException等。非查看反常:程序运转中产生的反常,在程序的编译时分能够疏忽的反常,比方RuntimeException,或许承继与RuntimeException的反常。

查看和非查看反常

以下是一个读取文件的例子,在读取文件的时分会产生FileNotFoundExcepton和IOException,咱们都进行了捕捉,最终在finally中封闭了翻开的文件。

一个自界说反常实例

自界说反常

在开发中发现JDK提供的反常无法满足现在的需求,能够通过集成已有的反常类来自界说反常。

在自界说反常的时分,是界说查看反常仍是非查看反常?以下是个人见解,

假如一个问题需求显现的处理,比方调用其他体系接口的时分,服务不行用,就可界说为查看反常,自界说的查看反常是要求在编程的时分有必要处理的。

业务的反常通过通过承继RuntimeException来界说非查看反常,比方参数过错,成果找不到等,这类反常都是在运转期间产生的,咱们不用在调用的地方显现的处理,能够在一个地方统一的处理。

下面就定一个查看参数的反常类承继于RuntimeException,界说一个过错code用来记载过错的代码。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值