1.基本概念
编译异常程序员必须显示处理,运行时异常并不要求程序员显示处理,因为有默认处理机制,会自动抛出throws。
2.异常体系结构
3.编译异常和运行异常
编译异常
常见运行异常
4.异常处理
(1)try-catch-finally
快捷键:Ctrl+alt+t
try-catch处理异常注意事项:
(2)throws
例子如下:
throws处理异常注意事项:
5.自定义异常
1.基本概念
2.自定义异常的步骤
package com.throw_;
import java.rmi.MarshalException;
/**
* Created on 2021/6/20.
*
* @author Ryan_小王
*/
@SuppressWarnings("all")
public class CustomException {
public static void main(String[] args) {
int age = 10;
//要求年龄在18-120之间
if (!(age >= 18 && age <=120)) {
throw new AgeException("年龄需在18到120之间!");
}
}
}
//自定义一个异常
//1.一般情况下我们自定义异常是继承RuntimeException
//2.即把自定义异常左程运行时异常,好处是我们可以使用默认的处理机制
class AgeException extends RuntimeException {
public AgeException(String message) {
super(message);
}
}
6.throw和throws的区别
测试题:
try-finally先输出try里面可以执行的内容,再输出finally里面的内容,最后再抛出异常。