摘要前言:
1.什么是异常?
2.Java中的异常以什么形式存在的?
3.异常的分类
4.异常的处理方式
5.异常的重要两个方法
6.finally关键字程序运行过程中出现不正常的情况
7.自定义异常
8.方法覆盖的补充
各位看官二话不说!老样子跟随老狗速速上车!!!
1.什么是异常?
程序运行过程中出现不正常的情况。
2.Java中的异常以什么形式存在的?
异常在Java中是以类的形式存在,Java中的每一个异常类都可以创建异常对象。
NullPointerException nullPointerException = new NullPointerException("This is a null pointer exception");
System.out.println(nullPointerException);
3.异常的分类
a.运行时异常:发生概率比较低
b.编译时异常:发生概率比较高,在运行之前要进行预处理
4.异常的处理方式
a.throws:在方法声明的位置上使用throws关键字抛出,谁调用这个方法我就抛给谁。调用着来处理。
b.try...catch:这个异常不会进行上抛,自己在函数体内处理。
注意:
a.只要异常没有被捕捉到,采用上抛的方式,此方法后续的代码不会执行
b.try块中间出现的异常,该行以后的代码不会执行
c. try...catch捕捉异常之后,后续代码可以执行
5.异常的重要两个方法
a.getMessage():返回异常的详细信息字符串
b.printStackTrace(): 追踪异常信息(异步的)
6.finally关键字程序运行过程中出现不正常的情况
a.在finally子句中的代码是最后执行的,并且是一定会执行的。
b.finally与try一起使用,不能单独使用。
7.自定义异常
package com.zhongzhichuang.cssadmin.JavaBasic.javaThread;
import java.io.IOException;
public class FileInputException extends IOException {
static final long serialVersionUID = 1L;
public FileInputException() {
}
public FileInputException(String message) {
super(message);
}
public FileInputException(String message, Throwable cause) {
super(message, cause);
}
}
package com.zhongzhichuang.cssadmin.JavaBasic.javaThread;
public class ExceptionTest {
public static void main(String[] args) {
FileInputException fileInputException = new FileInputException("文件数据问题,请检查数据");
System.out.println(fileInputException);
Boolean b = false;
try {
String s = printFile(b);
System.out.println(s);
} catch (FileInputException e) {
e.printStackTrace();
String message = e.getMessage();
System.out.println(message);
}
}
private static String printFile(boolean boo) throws FileInputException {
if (!boo) {
throw new FileInputException("文件读取失败");
}else {
return "读取文件成功";
}
}
}
8.方法覆盖的补充
Java异常中的方法覆盖,重写之后的方法不能比重写之前的方法抛出的更多(更宽泛)的异常信息,可以更少或者相同。
各位看官以上关于Java异常方面的知识此次老狗做了简单的知识分享,欢迎有问题可以随时提出来我们一起进行讨论。