在记录器中编写自己的异常

时间:2018-10-13 17:03:45

标签: java exception logging

具有在数组中插入元素的方法。

  public boolean insertElementToSlot(Element element, int index) {
        checkArray(index);
        try {
            if (element != null && mas[index] == null) {
                mas[index] = element;
                return true;
            } else {
               throw  new ElementValidationException("Element.insertElementToSlot", device);
            }
        } catch (ElementValidationException d) {
            logger.log(Level.SEVERE, ""+d);
        }

        return false;
    }

并使用方法自己的异常类:

public ElementValidationException(String operation, Element element) {
        super("Element is not valid for operation" + checkOperation(operation));
        this.element = element;
    }

测试方法insertElementToSlot时,出现错误

java.lang.AssertionError: Expected exception: com.inventory.exception.ElementValidationException

为什么与错误有关,如何解决?

1 个答案:

答案 0 :(得分:0)

如果您有一个单元测试需要一个异常,则必须将该异常排除在测试之外。它不会检查此异常是否在代码中的任何位置都被抛出,而是被捕获。

注意:您的例外不会被用作例外,可以替换为日志消息

您的代码基本上与

相同
public boolean insertElementToSlot(Element element, int index) {
    checkArray(index);
    if (element != null && mas[index] == null) {
          mas[index] = element;
          return true;
    }
    logger.log(Level.SEVERE, "some.package.ElementValidationException");
    return false;
}