一、异常:程序执行中可能出现的各种意外情况,如打开文件时文件不存在,除数为0,调用空指针对象的方法,数组下标越界等等。
Throwable<----Exception<-----RuntimeException
Throwable<----Error
异常分类:可检测异常、运行时异常。
二、java异常处理机制
1)、关于throws与throw的区别:
A、throws用在方法声明时小括号之后,用于指定抛出异常类别或者类别直接或者间接的父类异常类,用于将这个声明的方法中发生的异常抛送给调用这个方法的方法
或者直接抛送到控制台,输出异常信息(在这个方法为main方法时)
B、throw用于在方法中抛出具体的异常类的对象
2)、异常处理机制
A、抛出异常: throw 异常自定义异常对象,与在方法声明中用throws指定抛出异常
B、处理异常:try{可能产生异常的代码}catch(Exception){捕捉到异常后的处理或输出议程信息代码}finally{无论是否捕捉到异常都会执行的代码}
三、自定义异常
package com.lattice.java14_exception;
/**
* 一、关于throws与throw的区别:
* 1、throws用在方法声明时小括号之后,用于指定抛出异常类别或者类别直接或者间接的父类异常类,用于将这个声明的方法中发生的异常抛送给调用这个方法的方法
* 或者直接抛送到控制台,输出异常信息(在这个方法为main方法时)
* 2、throw用于在方法中抛出具体的异常类的对象
* 二、异常处理机制
* 1、抛出异常: throw 异常自定义异常对象,与在方法声明中用throws指定抛出异常
* 2、处理异常:try{可能产生异常的代码}catch(Exception){捕捉到异常后的处理或输出议程信息代码}finally{无论是否捕捉到异常都会执行的代码}
* @author lattice
*
*/
public class LatticeExceptionTest {
public static void main(String[] args) throws LatticeExceptionEX{
for (int i = 0; i < 5; i++) {
if(i%2==1){
throw new LatticeExceptionEX("for循环的控制体的值为偶数");
}
}
}
}
class LatticeExceptionEX extends Exception {
/**
* 自定义异常,没有任何功能实现,只实现了构造函数的处理
*/
private static final long serialVersionUID = 1L;
public LatticeExceptionEX(String msg){
super(msg);
}
}