package com.jingsong.bug;
import org.testng.Assert;
import java.util.Date;
/**
* @author jingsong
* @date 2022/5/27 0:12
* @desc 异常未捕获引起的bug
*/
@SuppressWarnings("all")
public class ExceptionBug {
public static void main(String[] args) {
// 这里testNg的Assert判断抛出的是error(AssertionError),不是exception,所以无法捕获
try {
Date date = null;
Assert.assertNotNull(date);
throw new AssertionError("error message");
} catch (Exception e) {
System.out.println("exception~~~" + e);
} catch (Error e) {
System.out.println("error~~~" + e);
} catch (Throwable t) {
System.out.println("throwable~~~" + t);
}
// 解决:
// 1. 自己编写一个AssertUtil类,根据自己逻辑需要对值进行判断
// 2. 用人家写好的 cn.hutool.core.lang.Assert
// 3. 自己一个if一个if的去判断
// 4. catch(Error e){}
// 5. catch(Throw t){}
// 异常学习
// http://t.csdn.cn/EuKAc
}
}
bug005_未捕获的异常
最新推荐文章于 2025-05-09 17:11:59 发布