学习Java(10)之异常处理

1、异常(Exception)是程序执行过程中出现的非正常事件,即各种意外情况。比如说:① 用户输入出错② 所需文件找不到③ 运行时磁盘空间不够④ 内存不够⑤ 算术运算错 (数的溢出,被零除…)⑥ 数组下标越界

但是异常不是错误
我们常说的错误有三种:
①语法错。比如没定义变量,漏了分号,括号不匹配,这在程序编译的时候就能检查出来。
②语义错。比如输入的数据格式不对,给变量赋值超过其范围。这种错误只有程序运行的时候才能发现。
③逻辑错。编译运行都通过,但是结果与预期不符。例如循环次数不对造成结果不对。

异常处理机制:我们对异常进行捕获并处理,即使程序在运行时发生了错误,也可以继续运行。

Throwable类是所有异常类的父类。它分为两个子类:Error类和Exception类。
Error类包括动态链接失败、虚拟机出错等异常,该类异常Java不要求捕获,同时系统也不会抛出该类异常
Exception类是指程序代码中要处理的异常

系统定义的异常异常的解释
ClassNotFoundException未找到要装载的类
ArrayIndexOutOfBoundsException数组访问越界
FileNotFoundException文件找不到
IOException输入输出错误
NullPointerException空指针访问
ArithmrticException算术运算错误,如除数为0
NumberFormatException数字格式错误
InterruptedException中断异常,线程在运行暂停处理时被调度打断将引发该异常

2、进行异常处理必须使用try程序块
格式
try{
}catch{
}finally{
}
一个try可以引导多个catch块
一个try语句必须带有至少一个catch语句块或一个finally语句块
无论异常发生否,finally部分的语句均要执行,即使try或catch块中有return,程序也是先执行finally块再返回,除非遇到System.exit(0)将停止程序运行

3.自定义异常

public class MyException extends Exception{

}
系统定义的异常可以由系统在执行过程中自动抛出
而用户自定义的异常,则需要在程序中通过throw语句抛出
try{
throw new MyException("…");
}catch(){…}

4.方法的异常声明

某一方法中有异常抛出
两种选择
①在方法内对异常进行捕获处理
②在方法中不处理异常,将异常处理交给外部调用程序
public static void main(String args[]){
try{…}catch(IOException e){}
}
这样写编译时会检测到未处理IO异常二提示错误

但在main方法头加上throws子句是允许的,如下:
public static void main(String args[]) throws IOException{

}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

漂流の少年

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值