答:如果代码中的所有分支并未全都执行,那么行将显示为部分覆盖。
下面是一些示例:
调用 methodA 的行为部分覆盖,因为存在以下两种情况:要么抛出并捕获异常,要么不抛出异常,程序正常执行。在不抛出异常的情况下,将显示部分覆盖,因为从未执行 catch。
在上面的示例中,第 4 行标记为部分覆盖。请注意,不管使用哪个构造函数来创建对象实例,实例变量初始化代码总是会执行。编译器将初始化代码放入了两个构造函数中。因此上面的代码大致相当于:

由于我们只使用了一个构造函数,另一条执行路径并未得以执行,因此显示部分覆盖。
答:在报告包中的总行数时,我们析出了不同方法之间共享的所有行,以免重复计算这些行。
答:如果类没有显式缺省构造函数,那么编译器会为您生成一个,由于生成的构造函数是隐式的,因此它可能与该代码行关联。其次,如果有任何静态初始化代码(例如静态字段),那么编辑器会生成静态初始化块,这些块也可能与该行关联。
答:如果设置了多个接受条件(例如方法“与”块),只要未达到任何一个条件,指示符就会显示为红色。设置接受条件的方法是:选择代码覆盖属性,然后启用指示符和百分比。设置显示的覆盖指示符的方法是:选择代码覆盖首选项,然后启用指示符(方法、块等)。颜色将由使用属性页面所设置的条件决定,而不是由首选项页面决定。
答:以下各项不会算作已覆盖、未覆盖或部分覆盖,并且不会用于计算覆盖百分比:
答:可执行单元从每个基本块的开头开始,也就是从源行号不同于上一字节码的每个字节码开始。基本块是不可分出或分入的字节码指令区域。当基本块中的第一条指令运行时,基本块中的所有指令都将执行,因此这些指令被视为一个组。
基本块以分支、调用、抛出和返回之类的指令结束。
答:这是收集代码覆盖数据的方式所造成的。要解决此问题,需要使用单步执行过滤器: