今天中午,经理给分了一个小bug,当时debug进去,发现没啥明显的问题,但是也的确是有问题,提示框中的%s没有替换成后面的内容,后来也没找到(丢人了),还是经理给解决了,在throw 异常的外面用了try/catch,catch里面又抛了一个异常,结果就是之前的异常信息没有显示,catch最后抛的异常信息又没有可以替换%s的信息,所以就造成了这样的后果。
现在想想也是,try/catch的话会把之前的所有异常都在catch里面处理,这里面处理的话就有可能覆盖原异常,导致出错。
看图可以看出来,之前的异常到了catch里面就只有ex的信息了,%s是无法被替换了。去掉try/catch之后,就达到了效果。
当然还有别的情况,可以直接在catch里面throw固定的异常信息,根据需求自己选择。
中午就那么一会,本来打算休息,结果来了个bug,不难,但是没改出来,然后就悲剧了。。。
中午不睡,下午崩溃,下午困的不行,后来又给了个bug,但是我在这边没有演示出来,沟通那边暂时还没结果,今天在看看吧(这本来是7.30号晚上要写的,结果拖到第二天早上了)。