异常和错误
异常是指在程序运行中由代码产生的一种错误。
当程序不能正常运行时,就说明了程序中出现了错误,错误按照其性质可以分为三种:语法错(编译错误)、语义错(运行错)和逻辑错。
程序运行时出的错可以分为两类:错误和异常
错误是指程序在执行过程中所遇到的硬件或操作系统的错误,如内存溢出、 虚拟机错等。而异常则是指在硬件和操作系统正常时,程序遇到的运行错。
异常对于程序而言是非致命性的,但错误对于程序而言则是致命性的。
java语言中所有异常都是以类的形式存在的,除了内置的异常类之外,java语言也允许用户自定义异常类。
每当程序发生了异常事件,即代表产生了异常的一个"异常对象"。
生成异常对象并把它交给运行系统的过程称为抛出异常。这个对象可能由应用程序本身产生,也可能由java虚拟机产生,这取决于产生异常的类型。
在java语言中定义了许多异常类,每一种异常类都代表了一种运行错误,类中也包含了该运行错误的信息和处理错误的方法等内容。
每当java运行过程中发生一个可识别的运行错误时,即该错误由一个异常类与之对应时,系统都会产生一个相应的该异常类的对象。一旦一个异常对象产生了,系统中就一定有相信的机制来处理它。如果异常处理程序捕获到的异常类型和这个程序能够处理异常的类型相同,那么这个程序就叫作合适的异常处理程序,然后异常处理机制将控制权从发生异常的程序交给能处理该异常的异常处理程序;如果没有找到合适的异常处理程序,运行时环境将终止程序执行。
异常处理类
在异常类层次的最上层有一个单独的类叫作Throwable,它是java.lang包中的一个类。这个类可以处理所有的异常情况,该类派生