区分错误和异常的区别:
在程序中错误可能产生于工作人员没有预料到的各种情况,或者是超出了工作人员的可控范围的环境因素。因异常指的是在程序执行期间发生的事件,它中断了正在执行的程序的正常指令流
产生的后果:
异常产生后如果不做如何处理,程序就会被终止
异常的处理方式:
1.捕捉异常:
try{}catch{}
try{}catch{}fianlly{}
2.抛出异常
使用throws关键字抛出异常。通常被应用早声明方法时,用来指定方法可能抛出的异常,多个异常用逗号隔开
使用throw关键字抛出异常,throw关键字通常用于方法体中,并抛出一个异常对象
java几个基本异常:
算术异常类:ArithmeticExecption
空指针异常类:NullPointerException
类型强制转换异常:ClassCastException
数组下标越界异常:ArrayIndexOutOfBundsException
文件未找到异常:FileNotFoundException
操作数据库异常:SQLException
输入输出异常:IOException
方法未找到异常:NoSuchMethodException
传递非法参数异常:IllegalArgumentException
数字格式异常:NumberFormatException
java.lang.Ins tan ti ation Error:
实例化错误。当一个应用试图通过java的new操作符构造一个抽象类或者接口时抛出该异常.
java.lang.InternalError:
内部错误。用于指示java虚拟机发生了内部错误。
java.lang.NoClassDefFoundError:
未找到类定义错误。当java虚拟机或者类装载器试图实例化某个类,而找不到该类的定义时抛出该错误。
java.lang.OutOfMemoryError:
内存不足错误。当可用内存不足以让java虚拟机分配给一个对象时抛出该错误。
java.lang.StackOverflowError:
堆栈溢出错误。当一个应用Thread类的stop方法时抛出该错误,用于指示线程结束。
java.lang.ThreadDeath:
线程结束。当调用Thread类的stop方法时抛出该错误,用于指示线程结束。
java.lang.UnknownError:
未知错误。用于指示java虚拟机发生了未知严重错误的情况。
java.lang.UnsupportedClassVersionError:
不支持的类版本错误。当java虚拟机试图从读取某个类文件,但是发现该文件的主、次版本号不被当前java虚拟机支持的时候,抛出该错误