异常
理解:程序执行期间发生的意外事件
语法:
try{ //可能会出现异常的代码放到这里 }catch(ExceptionType e){ //出现异常后可以在这里输出提示 System.out.println(e1.getMessage()); }finally{ //finally块无论是否发生异常都执行 }
捕获多个异常:
try{ }catch(ExceptionType1 e1){ }catch(ExceptionType1 e2){ }
异常处理:
Java异常处理 使用了5个关键字:throw、throws、try、catch、finally
1、throw抛出异常:
在方法内部 使用,常搭配if使用
代码示例:
运行结果:
2、throws
用在方法 或构造方法的定义 上,声明 其中可能发生的异常的类型 , 但最后只能抛出一种
public static void fun() throws 异常1,异常2,异常3....{
}
自定义异常
java自带的异常太多,记不过来,这时候我们可以学会自定义异常。
自定义运行时异常:
public class 类名 extends RuntimeException{}
自定义检查异常语法:
public class 类名 extends Exception{}
自定义异常的命名通常是:场景描述+Exception,例如:用户名不存在异常 UsernameNotfoundException
自定义使用示范:
在登陆时,账号密码不对,则出现账号不存在、密码错误的异常提示
1、共三个java,两个异常,一个登陆界面
2、账号异常
3、密码异常
4、login.java
5、运行结果
其他注意:
运行时异常可以不用处理
父类抛出多个异常,子类覆盖父类方法时候,只能抛出相同异常或者这个异常的子类
父类方法没有抛出异常,子类覆盖父类不可抛出检查异常。