Demo.java:
package cn.xxx.demo;
/*
* 异常分为编译异常和运行时期异常
* 编译异常: 调用了抛出异常的方法(使用throw抛出异常对象),不处理会编译失败 ,需要try 或者 throws处理异常
* 运行异常: 抛出的异常是RuntimeException类,或者是他的子类
*
* 运行异常的特点:
* 方法中如果抛出运行时异常,方法的声明上,不需要throws语句,调用者,不需要处理。 运行时直接让程序停止运行(抛出红色字体异常)。
* 设计原因:
* 运行异常,不能发生,但是如果发生了,程序人员停止程序必须修改源代码。 为了提醒编程人员对代码进行修改。
*
* 运行异常: 一旦发生,不要处理,请你修改源代码, 运行异常一旦发生,后面的代码没有执行的意义。所有必须修改源代码。
*/
public class Demo {
public static void main(String[] args) {
double d = getArea(1);
System.out.println(d);
}
public static double getArea(double r){
if(r <= 0)
throw new RuntimeException("圆形不存在"); // 抛出运行时异常,方法声明上不用写throws声明,也不用调用者try catch处理。 必须停止代码执行,提醒程序员修改代码。
return r*r*Math.PI;
}
public static void function(){
int[] arr = {1,2,3};
if(arr[5] > 100){
arr[5] = arr[5]/2;
}else{
arr[5] = arr[5]/3;
}
}
}