ConstraintViolationException

ConstraintViolationException

在neo4j 2.0中,如果尝试对已经具有约束的索引施加约束,则会抛出由ConstraintViolationException引起的AlreadyConstrainedException

我的问题是:如何检查ConstraintViolationException是由ALreadyConstrainedException引起的还是其他原因?我花了几个小时进行谷歌搜索,然后尝试其他事情。以下代码可以工作,但感觉很笨拙,因此我想知道是否有更好的方法可以做到这一点。

catch(ConstraintViolationException e){
        if(e.getCause().getClass().getCanonicalName().equals("org.neo4j.kernel.api.exceptions.schema.AlreadyConstrainedException")){
            System.out.println("Index Already Constrained.");
        }

    }

最佳答案

我认为您的解决方案很接近,但是很难遵循。以下的一些改进将更容易理解。我假设您的模块将导入AlreadyConstrainedException。

catch(ConstraintViolationException e) {
    if (e.getCause() instanceof AlreadyConstrainedException){
       System.out.println("Index Already Constrained.");
    }
}

关于java - 检查ConstraintViolationException的原因,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22078470/

10-10 08:02