异常处理
目标:
- 了解异常的产生原理
- 掌握异常处理语句的基本格式
- 掌握throw和throws关键字的作用
- 能够知道为什么需要异常处理?
- 了解Exception与RuntimeException的区别
- 了解断言的作用
- 在JAVA程序的错误主要是语法错误和语义错误
- 在JAVA中,所有的异常都以类和对象的形式存在
- 异常是导致程序中断运行的一种指令流
- Throwable的子类:Exception和Error
- 异常信息的输出:e.printStackTrace();
- throws关键字:在定义一个方法时可以使用throws关键字声明,使用throws声明的方法表示此方法不处理异常,而交给方法的调用处处理,在主方法中也可以使用throws关键字,但却只能将异常抛给JVM进行处理。
- throw关键字:与throws不同的是,可以直接使用throw抛出一个异常,抛出时直接抛出异常类的实例化对象即可。例:throw new Exception("自己抛出的异常");
- throws只是告诉程序这个方法可能会抛出这些异常,方法的调用者可能要处理这些异常, 而这些异常可能是该函数体产生的。 throw则是明确了这个地方要抛出这个异常。
- Exception与RuntimeException的区别
Exception在程序中必须使用try...catch进行处理
RuntimeException可以不使用try...catch进行处理,但是如果有异常产生,则异常将由JVM进行处理 - 断言:断言就是肯定某一个结果的返回值是正确的,如果最终结果的返回值是错误的,则通过断言检查肯定会提示错误信息
格式:
assert boolean表达式;
assert boolean表达式:详细的信息
常见的异常:
- ArithmeticException 算术异常
- ArrayIndexOutOfBoundsException 数组溢出异常
- NumberFormatException 数字格式化异常
- Nullpointerexception 空指针异常
- ClassNotfoundexception 指定的类不存在
- illegalargumentexception 方法的参数错误
- ClassCastException 类型强制转换异常
- NegativeArrayException 数组负下标异常
- FileNotFoundException 文件未找到异常
- NumberFormatException 字符串转换为数字异常