用好IDEA中的异常断点,省时省力

啥情况

有没有发现,一个大循环中,某个变量空指针了,但是异常堆栈只有该行的信息,并不知道是哪个变量、什么情况NPE的,郁闷吧;加个断点一次次循环的跟,要是有几十上百次的循环呢,你跟的住么?比如下面的代码

public class CommonTest {
    @Test
    public void testException(){
        Integer[] arr = IntStream.rangeClosed(1,10).boxed()
            .toArray(Integer[]::new);
        // 便于暴露问题
        arr[6]=null;
        for (Integer s : arr) {
            System.out.println(s.toString());
        }
        System.out.println("exit");
    }
}

运行后只能获得这样的异常信息:
用好IDEA中的异常断点,省时省力_第1张图片

怎么破

其实神器IDEA有一个强大的断点类型:异常断点。就是在程序出现指定的异常时,自动断点,无论在哪里,这个时候debug可以看清所有的情况,按图设置:
用好IDEA中的异常断点,省时省力_第2张图片
这里选择出现哪种异常时debug
用好IDEA中的异常断点,省时省力_第3张图片
这个时候再用debug跑一遍,惊不惊喜,意不意外^_^
用好IDEA中的异常断点,省时省力_第4张图片
IDEA是个很牛逼的神器,有很多方便的功能,我们需要好好利用这个工具,提高我们解决问题的效率。

你可能感兴趣的:(控件工具,JAVA)