初学java的时候,当我们碰到异常时,一般会把异常直接throws抛出去,或则在catch的时候,简单的写一句打印异常信息,但是在实际开发中,是不能这么做的。如果我们将底层的某一个异常简单的print出去,那么这个异常的捕获是没有起到任何作用,反而给编译器一个“异常已处理”的假象,导致有异常的程序会继续往下执行,这是不允许的;如果我们直接将异常抛出去,抛给上一层,也是徒劳的,反而给上一层带来麻烦。

  为了避免这样的情况发生,我们一般会将异常进行转换,将编译时异常转变成运行时异常,再throw抛给上一层,这样如果上一层能处理这个异常就会处理,不能处理,就会停止程序的运行。在此过程中,抛出RuntimeException时,要将本异常抛给上一层,防止异常的断链:throw new RuntimeException(e);

  在和用户打交道的界面层千万能不能直接抛出异常,因为用户看不懂异常信息,还以为软件中毒,这时我们可以输出一条友好提示语句,表示程序自身出了bug,同时在日志中记录此异常信息。

 

待续。。。。。。

相关文章:

  • 2021-09-11
  • 2021-06-19
  • 2021-07-09
  • 2022-12-23
  • 2022-01-22
  • 2021-06-07
  • 2021-08-16
猜你喜欢
  • 2021-09-26
  • 2018-11-12
  • 2022-02-14
  • 2021-10-09
  • 2021-11-28
  • 2021-12-08
  • 2021-08-10
相关资源
相似解决方案