今天中午,经理给分了一个小bug,当时debug进去,发现没啥明显的问题,但是也的确是有问题,提示框中的%s没有替换成后面的内容,后来也没找到(丢人了),还是经理给解决了,在throw 异常的外面用了try/catch,catch里面又抛了一个异常,结果就是之前的异常信息没有显示,catch最后抛的异常信息又没有可以替换%s的信息,所以就造成了这样的后果。

现在想想也是,try/catch的话会把之前的所有异常都在catch里面处理,这里面处理的话就有可能覆盖原异常,导致出错。记一次try-catch代码排查的问题

记一次try-catch代码排查的问题

看图可以看出来,之前的异常到了catch里面就只有ex的信息了,%s是无法被替换了。去掉try/catch之后,就达到了效果。

记一次try-catch代码排查的问题

当然还有别的情况,可以直接在catch里面throw固定的异常信息,根据需求自己选择。

记一次try-catch代码排查的问题

中午就那么一会,本来打算休息,结果来了个bug,不难,但是没改出来,然后就悲剧了。。。

中午不睡,下午崩溃,下午困的不行,后来又给了个bug,但是我在这边没有演示出来,沟通那边暂时还没结果,今天在看看吧(这本来是7.30号晚上要写的,结果拖到第二天早上了)。

相关文章:

  • 2021-10-27
  • 2022-12-23
  • 2021-10-29
  • 2022-12-23
  • 2020-03-22
  • 2021-08-21
  • 2021-10-25
  • 2022-12-23
猜你喜欢
  • 2021-09-27
  • 2022-12-23
  • 2021-07-16
  • 2022-12-23
  • 2021-07-28
  • 2022-01-18
  • 2021-08-02
相关资源
相似解决方案