JAVA学习总结 异常

概述

输入数据的格式,读取文件是否存在,网络中断等情况。
异常:在java语言中,将程序执行中发生的不正常情况称为异常。

常见异常

Error:java虚拟机无法解决的严重问题。
Exception:编程错误或外在因素导致一般性问题

编译时异常(checked)
运行时异常(unchecked)

捕获错误要在在编译期间,但有些错误只要在运行时才发生

异常处理机制

要在可能出现错误的地方加上检测的代码。
异常处理机制:将异常处理的程序代码集中在一起,与正常的程序代码分开。

java提供的异常处理:抓抛
java程序执行过程中,如果出现异常,会生成一个异常类对象,该异常类对象被提交给java运行时系统,这个过程称为抛出异常。
抛:出现异常后,会在异常代码处生成一个对应异常类的对象,并将此对象抛出。
一旦抛出对象后,其后的代码就不再执行
抓:异常处理的方式:①try-catch-finally②throws

异常处理机制一:try-catch-finally

try{
//可能出现异常的代码
}catch(异常类型1 变量名){
//异常处理的方式1
}
finall{
//一定会执行的代码
}

》使用try将可能出现异常代码包装起来,在执行过程中,一旦出现异常,就会生成一个对应异常类的对象,根据此对象的类型,去catch中进行匹配
》一旦try中的异常对象匹配到某一个catch时,就进入catch中进行异常的处理,一旦处理完成,就跳出当前的try-catch结构。(在没有finall的情况下)
》catch中的异常类型有子父类关系。如果有则子类声明要在父类上面。如果没有则位置无所谓。
》》finall是可选的。finally中声明的一定会被执行的代码,即使catch中又出现异常了,try中有return语句,catch中有return语句等情况

常用操作:getMessage printStackTrace(红字)

编译时异常用try-catch-finally。

异常处理机制二:throws

throws+异常类型

在方法后throws抛给调用它的方法,方法执行时,出现异常,仍会在异常代码处生成一个异常类对象。在main方法里try-catch。

try-catch-finally真正将异常处理掉
throws只是将异常抛给了方法的调用者

子类重写方法时抛出的异常不能不父类异常大

如何选择抛出异常的机制:
》如果父类中被重写的方法没有throws方式处理,则子类重写的方法也不能使用throws,子类重写方法中有异常必须使用try-catch-finally方式处理。
》执行的方法a中,先后又调用了另外的方法,这几个方法时递进关系,使用throws方式进行处理,在执行时期整个try-catch。

手动抛出异常:throw

关于异常对象的产生:
①系统自动生成
②手动生成一个异常,并抛出,在方法处throws并在main方法try-catch

用户自定义异常

怎么自定义异常:
》RuntimeException
》Exception
①让定义的类继承于现有的异常结构RuntimeException或Exception
②提供全局常量serialVersionUID:唯一表示自定义类的常量。
③手动抛出自定义异常。

throw new +自定义异常类型(“XXXXX”);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值