大家好,我是程序员影子
一名致力于帮助更多朋友快速入门编程的程序猿
今天来聊一聊关于Java 中的异常类和异常继承层次
一、异常的分类
在Java中,异常分为两大类:检查型异常和非检查型异常。检查型异常是那些在编译时必须被捕获的异常,而非检查型异常包括运行时异常(runtime exceptions)和错误(errors)。
demo:
public class ExceptionClassification {
public static void main(String[] args) {
try {
// 假设这是一个检查型异常
throw new Exception("这是一个检查型异常");
} catch (Exception e) {
System.out.println("捕获到了检查型异常:" + e.getMessage());
}
try {
// 这是一个运行时异常
throw new RuntimeException("这是一个运行时异常");
} catch (RuntimeException e) {
System.out.println("捕获到了运行时异常:" + e.getMessage());
}
}
}
二、异常继承层次
Java的异常类继承自java.lang.Throwable
类,该类有两个主要的子类:Error
和Exception
。Exception
类又分为两个子类:CheckedException
和RuntimeException
。
三、异常处理的基本结构
在Java中,异常处理通常使用try
、catch
和finally
语句块来实现。这些块用于捕获和处理异常。
demo:
public class BasicExceptionHandling {
public static void main(String[] args) {
try {
// 可能抛出异常的代码
int[] numbers = {1, 2, 3};
System.out.println(numbers[3]); // 数组索引越界
} catch (ArrayIndexOutOfBoundsException e) {
// 异常处理代码
System.out.println("数组索引越界:" + e.getMessage());
} finally {
// 一定会执行的代码
System.out.println("finally块中的代码执行了");
}
}
}
四、自定义异常类
可以通过扩展Exception
类或其子类来创建自定义的异常类。自定义异常类通常在类名中包含“Exception”或“Error”。
demo:
public class CustomException extends Exception {
public CustomException(String message) {
super(message);
}
}
public class CustomExceptionUsage {
public static void main(String[] args) {
try {
throw new CustomException("这是一个自定义异常");
} catch (CustomException e) {
System.out.println("捕获到了自定义异常:" + e.getMessage());
}
}
}
以上就是本次分享的所有内容,感兴趣的朋友点个关注呀,感谢大家啦~