异常:就是java中出现的不正常的现象(错误与异常)
异常的继承体系:
Throwable: 它是所有错误与异常的超类(祖宗类)
|- Error 错误,不管
|- Exception 编译期异常, javac.exe进行编译的时候报错
|- RuntimeException 运行期异常, java出现运行过程中出现的问题
异常中 涉及的关键字:
try: 可能发生异常的代码
catch: 捕获异常,进行异常的处理
finally: 在异常处理过程中,一定要执行的代码
throws: 说明该方法中,可能会抛出指定的异常
throw: 说明抛出了一个异常对象
异常中 涉及到的方法:
Throwable
public String getMessage() 获取异常原因
public String toString() 获取异常类名与 异常原因
public void printStackTrace() 获取异常类名、异常原因、异常产生的位置
public void printStackTrace(PrintStream ps) 获取异常类名、异常原因、异常产生的位置,把信息存储指定的日志文件中
异常处理的两种方式:
1,出现问题,自己解决
try{
可能出现异常的代码
} catch(异常类名 对象名){
异常处理代码
} finally {
异常操作中一定要执行的代码
}
try{
可能出现异常的代码
} catch(异常类名 对象名){
异常处理代码
} catch(异常类名 对象名){
异常处理代码
}
try{
可能出现异常的代码
} catch(异常类名1 | 异常类名2 | 异常类名3... 对象名){
异常处理代码
}
try{
可能出现异常的代码
} catch(异常类名 对象名){
异常处理代码
}
try{
可能出现异常的代码
} finally {
异常操作中一定要执行的代码
}
2,出现问题,别人解决
格式:
修饰符 返回值类型 方法名(参数) throws 异常类名1,异常类名2,...{}
public void method() throws ATMException{}
自定义异常:
定义一个类,让该类继承于 Exception
重写构造方法:
空参数构造方法
只有一个String参数的构造方法
-----------------------------------------
异常中的注意事项;
* try...catch..finally
* 异常使用的注意事项
* 当产生多个异常需要处理的时候,如果多个异常之间有子父类异常关系
* 子类异常放上面编写,父类异常放下面编写
* throws
* 异常处理使用的注意事项
* 如果要抛出多个异常,多个异常之间有子父类异常关系,抛出父类异常即可
* throws 异常处理的使用注意事项:
* 1, 父类方法没有抛出异常,子类方法中 不能抛出异常, 只能try..catch处理
* 2, 父类方法有有异常抛出,子类方法可以抛出与父类相同的异常,或者父类异常的子异常
* 3, 父类方法有有异常抛出,子类可以不抛出异常的
* 4, 父类方法有有异常抛出,子类方法不可以抛出父类没有的异常,或超出父类异常的范围
异常的继承体系:
Throwable: 它是所有错误与异常的超类(祖宗类)
|- Error 错误,不管
|- Exception 编译期异常, javac.exe进行编译的时候报错
|- RuntimeException 运行期异常, java出现运行过程中出现的问题
异常中 涉及的关键字:
try: 可能发生异常的代码
catch: 捕获异常,进行异常的处理
finally: 在异常处理过程中,一定要执行的代码
throws: 说明该方法中,可能会抛出指定的异常
throw: 说明抛出了一个异常对象
异常中 涉及到的方法:
Throwable
public String getMessage() 获取异常原因
public String toString() 获取异常类名与 异常原因
public void printStackTrace() 获取异常类名、异常原因、异常产生的位置
public void printStackTrace(PrintStream ps) 获取异常类名、异常原因、异常产生的位置,把信息存储指定的日志文件中
异常处理的两种方式:
1,出现问题,自己解决
try{
可能出现异常的代码
} catch(异常类名 对象名){
异常处理代码
} finally {
异常操作中一定要执行的代码
}
try{
可能出现异常的代码
} catch(异常类名 对象名){
异常处理代码
} catch(异常类名 对象名){
异常处理代码
}
try{
可能出现异常的代码
} catch(异常类名1 | 异常类名2 | 异常类名3... 对象名){
异常处理代码
}
try{
可能出现异常的代码
} catch(异常类名 对象名){
异常处理代码
}
try{
可能出现异常的代码
} finally {
异常操作中一定要执行的代码
}
2,出现问题,别人解决
格式:
修饰符 返回值类型 方法名(参数) throws 异常类名1,异常类名2,...{}
public void method() throws ATMException{}
自定义异常:
定义一个类,让该类继承于 Exception
重写构造方法:
空参数构造方法
只有一个String参数的构造方法
-----------------------------------------
异常中的注意事项;
* try...catch..finally
* 异常使用的注意事项
* 当产生多个异常需要处理的时候,如果多个异常之间有子父类异常关系
* 子类异常放上面编写,父类异常放下面编写
* throws
* 异常处理使用的注意事项
* 如果要抛出多个异常,多个异常之间有子父类异常关系,抛出父类异常即可
* throws 异常处理的使用注意事项:
* 1, 父类方法没有抛出异常,子类方法中 不能抛出异常, 只能try..catch处理
* 2, 父类方法有有异常抛出,子类方法可以抛出与父类相同的异常,或者父类异常的子异常
* 3, 父类方法有有异常抛出,子类可以不抛出异常的
* 4, 父类方法有有异常抛出,子类方法不可以抛出父类没有的异常,或超出父类异常的范围