did*_*ido 3 java exception try-catch throw try-catch-finally
据我所知,如果您只声明一个已检查的异常,它将通过您的所有方法传播到main方法,并仍然中断您的正常程序流程,您的程序仍将停止工作.那么,为什么不总是使用try/catch处理已检查的异常...这样你的程序不会因异常而停止?为什么要在方法的签名中声明异常?对不起,我的英语不好
Jon*_*eet 10
据我所知,如果您只声明一个已检查的异常,它将通过您的所有方法传播到main方法,并仍然中断您的正常程序流程,您的程序仍将停止工作.
绝对.这是一个很好的事情,如果事情的发生,你真的无法处理.
例如,假设您有一个程序将使用文件中的某些数据更新您的数据库 - 但您无法加载该文件.
您可以捕获异常,忽略它并仍然覆盖数据库中的数据......但这不是一件好事.一旦你处于一种你没有做好准备的情况,或者你从根本上不能理智地继续下去,那么停止是负责任的事情.
当然,如果你能真正处理异常并继续前进,那就太好了 - 但根据我的经验,在这种情况下,错误相对较少.如果您正在编写服务器端应用程序,则通常希望中止请求(并向客户端提供错误).如果您正在编写UI,那么您可能只想放弃当前操作,通知用户并让他们继续...这是一个稍微不同的情况.
但无条件地捕捉所有异常并假装它们没有发生?<颤动>