java异常总结
1.异常相关概念及注意事项:
- *异常:*就是在程序运行过程中所发生的意外事件,他中断指令的正常执行。
- *error:*错误error类指的是系统错误或运行环境出现的错误,这些错误一般都很严重,即使捕捉到也很难处理。
- *Exception:*异常Exception类则 指一些可以被捕获并且可能恢复的异常。
- *抛出异常:*在java程序中执行的过程中,如果出现了异常事件,就会生成一个异常对象。 生成的异常对象将传递给JAVA运行时系统,这一异常的产生和提交过程称为抛出(throw)异常。
- Exception是try代码块传递给catch块的变量类型,e是变量名。catch代码块中语句"e.getMessage();"用于输出错误异常。通常,异常处理常用以下三个函数来获取相关信息:①getMessage()函数:输出错误性质②toString()函数:输出异常的类型和性质③printStackTrace()函数:指出异常的类型、性质、栈层次及出现在程序中的位置
- try_catch_finally中,catch必有,finally最多只有一个,也可以没有,finally总是最后执行。
- java的异常处理机制带来java程序代码结构上的改变:① 不能滥用异常机制,简单的出错建议使用if语句;②不能过分细分异常。
2.在java中提供了一些异常类来描述经常发生的错误。其中,有的需要程序员进行捕获处理或声明抛出,有的是有java虚拟机自动进行捕获处理的。java中常见的异常如下所示:
-
- ClassCastException(类型转换异常)
- ClassNotFoundException(未找到相应类异常)
- ArithmeticException(算术异常)
- ArrayIndexOutOfBoundsException(数组下标越界异常)
- ArrayStoreException(数组中包含不兼容的值抛出的异常)
- SQLException(操作数据库异常类)
- NullPointerException(空指针异常)
- NoSuchFiledException(字段未找到异常)
- NoSuchMethodException(方法未找到异常)
- NumberFormatException(字符串转换为数字抛出的异常)
- NegativeArraySizeException(数组元素个数为负数抛出的异常)
- StringIndexOutOfBoundsException(字符串索引超出范围抛出的异常)
- IOException(输入输出异常)
- IllegalAccessException(不允许访问某类异常)
- InstantiationException(当应用程序试图将Class类中的newInstance()方法创建一个类的实例,而指定的类对象无法被实例化时,抛出该异常)
- EOFException(文件已结束异常)
- FileNotFoundException(文件未找到异常)
3.在方法中抛出异常
在某个方法中可能会发生异常,但不想在当前方法中处理这个异常,则可以使用throws、throw关键字在方法中抛出异常
- throws关键字通常被应用在声明方法时,用来指定方法中可能抛出的异常。多个异常可以使用逗号分隔。
- 使用throws关键字将异常抛给上一级后,如果不想处理该异常,可以继续向上抛出,直到处理该异常为止。
- 如果是Error、RuntimeException或者他们的子类,可以不适用throws关键字来声明异常编译也可以通过,但是运行时会被系统抛出。
- throw关键字通常用于方法体中,并且抛出一个异常对象。程序在执行到throw语句是立即终止,他后面的语句都不执行。通过throw抛出异常后,如果想在上一级代码中捕捉异常,则需要在pc异常的方法中只用throws关键字在方法的声明中指明要抛出的异常,否则继续返回上一级,知道解决为止。
来源:CSDN
作者:healing9707
链接:https://blog.csdn.net/weixin_45923633/article/details/104132425