异常
版权声明:本文为博主原创文章,转载请注明出处。
https://mp.csdn.net/mdeditor/84490647
1、异常基本概念
异常是在程序运行过程中发生的除正常情况外的所有现象,是导致程序运行中断的一种指令流。
2、Java标准异常
Throwable这个Java类被用来表示任何可以作为异常被抛出的类。
Throwable对象可以被分成两种类型:
-
**Error:**用来编译时和系统错误(除特殊情况外,一般不用担心)。表示由JVM所侦测到的无法预期的错误,由于这是属于JVM层次的严重错误,导致JVM无法继续执行,因此,这是不可捕获到的,无法采取任何恢复的操作,顶多只能显示错误的信息。
-
**Exception:**是可以被抛出的基本类型,在Java类库、用户方法以及运行时故障中都可以抛出Exception型异常。
Exception分为Checked Exception(检查异常)和Runtime Exception (运行时异常)
- Checked Exception也就是我们经常遇到的IO异常,以及SQL异常,都是这种异常。对于这种异常,Java编辑器强制要求我们必需对出现的这些异常进行catch。
- RuntimeException是运行时异常,当出现这样的异常时,总是由虚拟机去处理。如:算数异常(如被0除)、下标异常(如数组越界)、NullPointerException(空指针异常)异常等。
3、常用异常:
- java.lang. ArithmeticExecption:算术异常类.
- java.lang.ArrayIndexOutOfBoundsException:数组下标越界异常.当对数组的索引值为负数或大于等于数组大小时抛出.
- ClassCastException:类型强制转换异常.
- EOFException:文件已结束异常.
- IOException:输入输出异常.
- java.lang.NullPointerException:空指针异常类.
- java.lang.NegativeArrayException:数组长度为负数异常.
- java.lang.NumberFormatException:字符串转换为数字异常.
4、异常抛出格式:
1、异常类名 异常变量名;
throw 异常变量名;
2、throw new 异常类名();
例子:
1、 ArithmeticException e;
throw e;
2、 throw new ArithmeticException ();
5、throws和throw区别:
- throw用于方法内部,throws用于方法声明上。
- throw后跟异常对象,throws后跟异常类型。
- throw后只能跟一个异常对象,throws后可以一次声明多种异常类型。
语法:
1、throw语法: throw (异常对象) throw e;
2、throws语法: throws 异常类 public void test() throws Exception1,Exception2{ }
参考自:
https://blog.csdn.net/chewbee/article/details/78334454;
https://blog.csdn.net/qq_33578833/article/details/78780364;
《 java编程基础及应用》强彦 赵涓涓;
《java程序设计与应用》中国水利水电出版社;
Java常见异常种类及原因请参考:
https://blog.csdn.net/qq_33578833/article/details/78780364
Java的异常处理机制请参考:
https://blog.csdn.net/zx64881926/article/details/52300271