java除零异常_JAVA异常处理

出bug是写代码的时候非常常见的情况,今天就来讲一下。

首先明确一下什么是异常,代码正常运行不会出问题,但是遇到意外,参数变量,不符合要求,发生意外,代码终止运行,就是异常。

1.常见的异常有以下几种:

1.System.out.println(1/0);//java.lang.ArithmeticException:/ by zero

除以零结果无穷大异常

2.String str = null;

System.out.println(str.length());//java.lang.NullPointerException

空指针异常

http://3.int[] arr = {1,2};

System.out.println(arr[arr.length]);//java.lang.ArrayIndexOutOfBoundsException: 2

超出索引范围异常

4.SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd HH时mm分ss秒 E");

sdf.parse("fsdfsdf");//ParseException

输入参数错误

2.异常的具体分类如下

Throwable:java中所有的错误或异常

Error:程序无法处理的异常

Exception:程序可以处理的异常

RuntimeExption:运行时才会产生的异常,编译时不会产生

ArithmeticException:出现异常的运算条件,比如除以零

3.异常的处理方式:

1.自己捕获处理

1) try-catch的语法结构及链式结构多异常处理方式

Ø语法:

try{

//可能产生异常的代码

}catch(捕获的异常类型 e){//e是形式参数

//该异常捕获之后要做的操作

}catch(捕获的异常类型 e){//e是形式参数

//该异常捕获之后要做的操作

}finally{

//异常发生之后一定会执行到的语句块:

//①流资源关闭②释放锁

}

2)语句块执行顺序:

1)顺序执行:进入异常捕获语句块

2)如果产生异常,执行catch捕获,捕获到对应异常,并且对应catch后面的代码块

3)finally语句块一定会执行到:前提前面语句没有执行System.exit(0)退出虚拟机

2.抛出异常:方法后面使用throws 需要抛出的异常类型

示例:

void eat() throws ArithmeticException, CloneNotSupportedException{

SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月");

//sdf.parse("fsdfsd");

}

注意事项:

①方法抛出运行时异常,在方法头可以不用抛出异常

②方法抛出编译时异常:方法必须处理异常,或者抛出同类异常,或者抛出异常该异常的父类类型异常

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值