异常
一、异常
运行时抛出的程序错误
编译出错不属于此处所说的异常
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);
}
}