运行时异常
受检异常
代码
package com.bjpowernode.chapter0101.demo01;
/*
* 演示运行时异常
* 不需要预处理,通过规范的代码进行规避
*/
public class Test01 {
public static void main(String[] args) {
// divide(10, 2);
// divide(10, 0);
divide2(10, 2);
divide2(10, 0);
System.out.println("main..end..");
}
//定义方法,计算两个整数的商
public static void divide(int x,int y){
int result = x/y; //整数相除,除数为0会产生 java.lang.ArithmeticException异常,导致了程序中断
System.out.println(x + "/" + y + "=" + result);
}
//对于运行时,可以通过规范的代码进行规范
public static void divide2(int x,int y){
//在相除之前,先判断除数是否为0
if( y==0){
System.out.println("除数不能为0");
return;
}
int result = x/y;
System.out.println(x + "/" + y + "=" + result);
}
}
代码2
package com.bjpowernode.chapter0101.demo01;
import java.io.FileInputStream;
/*
* 演示受检异常(编译时异常)
* 受检异常:在定义方法时,通过throws声明的异常
*/
public class Test02 {
public static void main(String[] args) {
//在程序中读取文件的内容,可以使用FileInputStream类
//通过构造方法,指定要读取的文件
FileInputStream fis = new FileInputStream("d:/abc.txt");
/*
* 系统定义FileInputStream构造方法时,通过throws声明抛出了一个FileInputStream异常
* 在定义方法时,通过throws声明抛出的异常就是受检异常
* 在调用方法时,必须对对象受检异常进行预处理
* 预处理就是在程序运行时,如果出现了异常应该怎么办,就像在楼道中心必须有灭火器和消防栓
*
*/
}
}