本文主要是介绍Exception 和Error的相同点和区别,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
相同点
Exception和Error都是继承了Throwable类,在java中只有Throwable类型的实例才可以被抛出(throw)或者捕获(catch),他是异常处理机制的基本组成类型。
不同点
Exception是在程序正常运行中,可以预料到的意外情况,应该捕获并进行异常处理。
Exception分为可检查异常(checked)和不检查异常(unchecked)
- 可检查异常在源代码里面需要try,catch,这是编译时检查的一部分。常见的Checked Exception有IOException
- 不可检查异常就是运行时异常,例如NullPointerException,ArrayIndexOfBoundsException,ClassCastException,SecurityException,通常是因为代码有逻辑错误。
error是正常情况下基本不会出现的情况,会对程序运行造成威胁,error不需要捕获,比如OutOfMemoryError,它就是Error的子类。
- LinkageError:常见的LinkageError有NoClassDefFoundError,UnsatisfiedLinkError,ExceptionInInitializerError。
- VirtualMachineError:另外还有另一类Error是VirtualMachineError,他下属的有些Error也挺常见,比如OutOfMemoryError,StackOverflowError。
这篇关于Exception 和Error的相同点和区别的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!