1-1 异常与异常处理
常见的异常有哪些
Java中一共提供了try、catch、finally、throw和throws 5个关键字来处理异常,其中的try-catch-finally需要配套使用,它们的作用是捕获和处理异常,使用try关键字和它后面的{}把有可能出现异常的代码包含起来。如果在try语句块中发生异常,这个异常就会被抛出。这时候就可以使用catch语句来捕获异常,并在这个语句块中,对这个异常进行处理。还有一些是不管发不发生异常,都需要执行的代码,就把它们放到finally语句块中。throw关键字用来手动引发一个异常。throws关键字用来定义任何被调用方法的异常。
Exception类是程序能够捕获到的异常情况。它又可以分为两大类:运行时异常(为RuntimeException)和检查型异常(也称非运行时异常)。运行时异常(RuntimeException)是一种设计或者是实现问题上出现的错误,大多数是由于程序设计不当而引发的错误,但这种错误要在运行期间才会发生和被发现。
2.异常——Exception
运行时异常
编译时不会报错,但程序运行起来如果有错误就会报异常。运行时异常都是RuntimeException类及其子类异常,如NullPointerException、IndexOutOfBoundsException等,这些异常一般是由程序逻辑错误引起的,程序应该从逻辑角度尽可能避免这类异常的发生。
package eight2;
public class Jihe { // 创建类
public static void main(String[] args) { // 主方法
String str = "lili"; // 定义字符串
System.out.println(str + "年龄是:"); // 输出的提示信息
int age = Integer.parseInt("20L"); // 数据类型的转换
System.out.println(age); // 输出信息
}
}
非运行时异常
非运行时异常是RuntimeException类及其子类异常以外的异常,我们必需对出现的这些异常进行处理,否则程序就不能编译通过。如 IOException、SQLException 以及用户自定义的异常等。
public class Jihe {
private int playerNum; // 定义“球员数量”
private String teamName; // 定义“球队名称”
public Jih