作者:水平蓝精灵天堂_678 | 来源:互联网 | 2023-10-11 02:30
异常和内部类前言一、异常1.异常2.避免异常的两种方式3.异常的基本语法1.使用try..catch处理异常2.使用多个catch块3.使用异常的共同父类Exception来捕获异
异常和内部类
- 前言
- 一、异常
- 1.异常
- 2.避免异常的两种方式
- 3.异常的基本语法
- 1.使用try..catch处理异常
- 2.使用多个catch块
- 3.使用异常的共同父类Exception来捕获异常
- 4.关于异常的错误输出
- 5.关于finally代码块-无论是否产生异常,都会执行的代码块
- 6.关于异常返回值问题
- 7.关于异常的调用链
- 8.JDK新增的自动关闭接口
- 9.一组关键字throws、throw
- 二、内部类
前言
一、异常
运行时抛出的程序错误
编译出错不属于此处所说的异常
1.异常
运行时指的是已经编译通过得到class文件,再由JVM执行过程中出现的错误
2.避免异常的两种方式
3.异常的基本语法
1.使用try…catch处理异常
2.使用多个catch块
3.使用异常的共同父类Exception来捕获异常
4.关于异常的错误输出
5.关于finally代码块-无论是否产生异常,都会执行的代码块
6.关于异常返回值问题
7.关于异常的调用链
8.JDK新增的自动关闭接口
9.一组关键字throws、throw
package Exception;
import book_management.user.User;
import java.util.Scanner;public class Login {public static final String USER = "WANG";public static final String PASSWORD = "123";public static void main(String[] args) {try {login();System.out.println("登陆成功");}catch (UserNameException e){e.printStackTrace();}catch (PasswordException e){e.printStackTrace();}}public static void login() throws UserNameException{Scanner scanner = new Scanner(System.in);System.out.println("请输入用户名");String name = scanner.next();System.out.println("请输入密码");String password = scanner.next();if (!name.equals(USER)) {throw new UserNameException("用户名错误");}if (!password.equals(PASSWORD)) {throw new PasswordException("密码 错误");}}
}
class UserNameException extends Exception{public UserNameException(String msg){super(msg);}
}
class PasswordException extends RuntimeException{public PasswordException(String msg){super(msg);}
}
二、内部类
内部类:就是将类结构的定义套在另一个类的内部
1.分类
2.成员内部类
3.内部类使用方法\规则