文章目录
- 前言
- 一、异常类
- 1.算数异常(ArithmeticException)
- 2.数组存储异常(ArrayStoreException)
- 3.类转换异常(ClassCastException)
- 4.非法参数异常(IllegalArgumentException)
- 5.下标越界异常(IndexOutOfBoundsException)
- 6.负数组大小异常(NegativeArraySizeException)
- 7.空指针异常(NullPointerException)
- 最后
- 相关
前言
这篇文章主要讲讲异常,异常并不是不好的,反而异常可以给我们一些提示信息,帮助到我们。
如果对运行时异常(RuntimeException)不太了解,推荐先查看我这篇文章:【Java 基础】异常与处理
异常也是一个类,我下面会将java.lang包下的常见的 运行时异常(RuntimeException)做个总结。并且会给出造成运行时异常的示例代码。以此避免以后我们写代码时不会写出容易造成运行时异常的代码,也为了出现异常时更从容一些。
一、异常类
1.算数异常(ArithmeticException)
当出现异常的运算条件时,抛出此异常。例如,一个整数“除以零”时,抛出此类的一个实例。
运算条件异常时,会抛出该异常。
触发代码:用任何数除0,抛异常
public static void main(String[] args) {
int zore = 0;
int divide = 1 / zore;
}
2.数组存储异常(ArrayStoreException)
试图将错误类型的对象存储到一个对象数组时抛出的异常。
数组值存储时,类型不匹配时会抛出该异常。
触发代码:数字数字中存入字符串,抛异常
public static void main(String[] args) {
Object[] arr = new Integer[2];
arr[0] = "str";
}
3.类转换异常(ClassCastException)
当试图将对象强制转换为不是实例的子类时,抛出该异常。
当类强制转换时,该类型无法转换成别的类型时会抛出该异常。
触发代码:数字强制转换成字符串,抛异常
public static void main(String[] args) {
Object num = new Integer(123);
String num1 = (String) num;
}
4.非法参数异常(IllegalArgumentException)
抛出的异常表明向方法传递了一个不合法或不正确的参数。
抛出非法参数异常,参数不是预期的参数
触发代码:参数不正确
public static void main(String[] args) {
new SimpleDateFormat("abc");
}
触发代码:
下面抛出非法参数异常(IllegalArgumentException)的子类, 数字格式异常(NumberFormatException)
public static void main(String[] args) {
Integer num = new Integer("abc");
}
5.下标越界异常(IndexOutOfBoundsException)
指示某排序索引(例如对数组、字符串或向量的排序)超出范围时抛出。
最常见的就是他的子类,数组下标越界异常(ArrayIndexOutOfBoundsException)。
- 他的子类:
数组下标越界异常(ArrayIndexOutOfBoundsException)
触发代码:数字下标不正确
public static void main(String[] args) {
int[] arr = new int[2];
arr[-1] = 0;
}
- 他的子类:字符串下标越界异常(StringIndexOutOfBoundsException)
触发代码:传入的下标不正确
public static void main(String[] args) {
String s = "abc";
s.substring(-1);
}
6.负数组大小异常(NegativeArraySizeException)
如果应用程序试图创建大小为负的数组,则抛出该异常。
触发该异常的代码:创建数组是指定的大小为负数
public static void main(String[] args) {
int[] arr = new int[-1];
}
7.空指针异常(NullPointerException)
当应用程序试图在需要对象的地方使用 null 时,抛出该异常。
这个非常常见,你用空对象(null)调用它方法时就会出现。
触发该异常的代码:空字符串对象调用方法。
public static void main(String[] args) {
String s = null;
s.length();
}
最后
以上就是java.lang包下我们最常见的异常,你肯定遇到过。
希望看到此篇文章的你,了解这些异常后可以做到触类旁通。因为以后我们会遇到更多的异常,这些异常都非常有用,可以告诉我们一些有用的信息。