在目前的java项目开发中,异常的抛出与捕获是一个重要组成部分。鉴于本人在项目中的应用,特浅谈一下java异常抛出的流程设计。
一、throw与throws
throws关键字被应用在声明方法时,用来指定可能抛出的异常。多个异常可以使用逗号隔开。如果方法A调用了该方法,在有异常抛出的情况下,将由方法A对异常进行处理。
throw关键字用在方法体中,并且抛出一个异常对象。程序在执行到throw语句时立即停止,它后面的语句都不执行。
因此throw和thorws的关系可以描述为:throw的异常必须是throws的异常的子集。
二、异常应该内部消化还是抛出
如果对可能出现的exception不想被外部(方法的调用者)知道,就在方法内部try-catch掉这个exception;如果希望外部知道,则在catch到之后把exception直接抛出或者抛出自定义的exception。