MST

星途 面试题库

面试题:Java异常类层次结构中常见的运行时异常有哪些及应用场景

请列举出至少3种Java异常类层次结构中属于运行时异常(RuntimeException及其子类)的异常,并分别简述它们通常在什么编程场景下会被抛出。
45.2万 热度难度
编程语言Java

知识考点

AI 面试

面试题答案

一键面试
  • NullPointerException
    • 场景:当程序试图访问一个空对象的成员变量、调用空对象的方法,或者在需要对象的地方使用了null值时抛出。例如,调用一个未初始化的对象的方法,如String s = null; int length = s.length();,这里snull,调用length()方法就会抛出该异常。
  • IndexOutOfBoundsException
    • 场景:它是一个更通用的越界异常类,其子类ArrayIndexOutOfBoundsException用于访问数组时索引超出范围,比如int[] arr = new int[5]; int value = arr[10];,数组arr合法索引范围是0到4,访问arr[10]就会抛出此异常;StringIndexOutOfBoundsException用于对字符串操作时索引超出范围,例如String str = "hello"; char c = str.charAt(10);,字符串str长度为5,合法索引是0到4,访问str.charAt(10)就会抛出该异常。
  • ClassCastException
    • 场景:当试图将一个对象强制转换为不兼容的类型时抛出。例如,有两个类DogCat继承自Animal,如果Animal animal = new Dog(); Cat cat = (Cat) animal;,这里将Dog类型对象强制转换为Cat类型,由于Dog对象本质不是Cat类型,就会抛出ClassCastException
  • ArithmeticException
    • 场景:在进行算术运算时出现错误的情况下抛出。最常见的是除数为零的情况,如int result = 10 / 0;,整数除法中除数不能为零,这种情况下就会抛出此异常。