Java中所有异常类都是Throwable类的子类。Throwable中定义了一些方法,而其子类一般没有定义新的方法。
Throwable类中常见的发方法
getMessage():获取详细的异常信息
toString():获得异常简短描述
printStackTrace():打印异常发生出堆栈跟踪信息,包括类名,方法名和行数。
较好文章推荐:https://blog.csdn.net/sugar_no1/article/details/88593255
异常处理
发现错误的理想时机是在编译阶段,就是运行程序之前。但不能找出所有的错误,余下的问题需要在运行阶段解决。
异常情形是指阻止当前方法或者作用域继续执行的问题。
当抛出异常后,将使用new在堆上创建异常对象。然后,当前的执行路径(不能继续执行了)被终止,并且从当前环境冲弹出异常对象的引用。此时,异常处理机制接管程序,开始寻找一个恰当的地方继续执行程序。这个恰当的地方就是异常处理程序,他的任务就是将程序从错误状态恢复,以使程序能要么换一种方式运行,要么继续运行。
异常最重要的方面之一就是如果发生问题,他们将不允许程序沿着正常的路径继续走下去。C和C++中尤其C没有办法强制程序在出现问题时停止在某条路径上运行下去。
异常参数
所有标准异常类都有两个构造器:一个是默认构造器,另一个是接受字符串作为参数,以便将相关信息放到异常对象的构造器中。
关键字throw将产生许多有趣的结果。在使用new创建异常对象后,此对象的引用将传给throw。尽管返回地异常对象其类型通常与方法设计的返回