1.异常
1.在Java语言中,将程序执行中发生的不正常情况称为“异常”。
2.java程序在执行过程中所发生的异常事件可分为两类:1.error: Java虚拟机无法解决的严重问题 2.exception :其它因编程错误或偶然的外在因素导致的一般性问题,可以使用针对性的代码进行处理。
程序员通常只能处理Exception,而对Error无能为力。
3.(1)运行时异常:是指编译器不要求强制处置的异常。一般是指编程时的逻辑错误,是程序员应该积极避免其出现的异常。
(2).编译时异常:是指编译器要求必须处置的异常。即程序在运行时由于外界因素造成的一般性异常。编译器要求java程序必须捕获或声明所有编译时异常。
4.throw异常
1.Java程序的执行过程中如出现异常,会生成一个异常类对象,该异常对象将被提交给Java运行时系统,这个过程称为抛出(throw)异常。
5.catch异常
1.如果一个方法内抛出异常,该异常对象会被抛给调用者方法中处理。如果异常没有在调用者方法中处理,它继续被抛给这个调用方法的上层方法。这个过程将一直继续下去,直到异常被处理。这一过程称为捕获(catch)异常。
2.try catch捕获异常
异常中的try和 finally 中 都有return:
public class demo01 {
public static int test(int b){
try{
b+=10;
return b;
}catch (Exception e){
return 1;
}finally {
b+=10;
return b;
}
}
public static void main(String[] args) {
int num=10;
System.out.println(test(num));
}
}
// 结果是30
从这个代码就可以看出,finally的return会覆盖try中返回的return值。从而也验证,有finally一定会执行。
3.throws和thrwo
1.如果一个方法(中的语句执行时)可能生成某种异常,但是并不能确定如何处理这种异常,则此方法应显示地声明抛出异常,表明该方法将不对这些异常进行处理,而由该方法的调用者负责处理。
2.在方法声明中用throws语句可以声明抛出异常的列表,throws后面的异常类型可以是方法中产生的异常类型,也可以是它的父类。
3.声明异常的关键字是throws,抛出异常的关键字是throw。
例如
public void mythod() throws ioexception,exception2,....... //可以抛出多个异常
{
if(an error occurs){
throw new exception(); //抛出异常
}
}