1. 抛出Checked异常和Runtime异常的区别
- 不是RuntimeException类及其子类的实例被称为Checked异常
- Checked异常:要么使用throws显示的抛出,要么用try..catch显示的捕获它,并处理.
- Runtime异常: 无需显示的抛出,如果需要可以使用try..catch显示的捕获它
public class ExceptionDemo { public static void main(String[] args) { try { //调用Checked异常方法,要么在main方法中再次抛出,要么显示的处理它 throwChecked(4); } catch (Exception e) { System.out.println(e.getMessage()); } //调用抛出Runtime异常的方法,既可以显示的捕获它,也可以不理会该异常 throwRunTime(4); } /* * 自行抛出Exception异常 * 该代码必须在try块中,或者在带有throws声明的方法中 */ public static void throwChecked(int a )throws Exception{ if (a>0){ throw new Exception("a的值大于0"); } } /* * 自行抛出Runtime异常 * 可以完全不理会该异常,也可以交给该方法的调用者处理 */ public static void throwRunTime(int a){ if (a>0) { throw new RuntimeException("a的值大于0"); } } }
运行的结果:
时间: 2024-10-18 14:02:19