微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java.sql.SQLIntegrityConstraintViolationException的实例源码

项目:rotabuilder    文件EmployeeMenu_IntegTest.java   
@Test
public void whenAlreadyExists() throws Exception {

    // given
    FixtureScript fs = new EmployeeTearDown();
    fixtureScripts.runFixtureScript(fs,null);
    transactionService.nextTransaction();
    wrap(menu).create("Faz","123",null);
    transactionService.nextTransaction();

    // then
    expectedExceptions.expectCause(causalChainContains(sqlIntegrityConstraintViolationException.class));

    // when
    wrap(menu).create("Faz",null);
    transactionService.nextTransaction();
}
项目:jdk8u-jdk    文件sqlIntegrityConstraintViolationExceptionTests.java   
/**
 * Validate that the ordering of the returned Exceptions is correct
 * using for-each loop
 */
@Test
public void test11() {
    sqlIntegrityConstraintViolationException ex =
            new sqlIntegrityConstraintViolationException("Exception 1",t1);
    sqlIntegrityConstraintViolationException ex1 =
            new sqlIntegrityConstraintViolationException("Exception 2");
    sqlIntegrityConstraintViolationException ex2 =
            new sqlIntegrityConstraintViolationException("Exception 3",t2);
    ex.setNextException(ex1);
    ex.setNextException(ex2);
    int num = 0;
    for (Throwable e : ex) {
        assertTrue(msgs[num++].equals(e.getMessage()));
    }
}
项目:jdk8u-jdk    文件sqlIntegrityConstraintViolationExceptionTests.java   
/**
 * Validate that the ordering of the returned Exceptions is correct
 * using Traditional while loop
 */
@Test
public void test12() {
    sqlIntegrityConstraintViolationException ex =
            new sqlIntegrityConstraintViolationException("Exception 1",t2);
    ex.setNextException(ex1);
    ex.setNextException(ex2);
    int num = 0;
    sqlException sqe = ex;
    while (sqe != null) {
        assertTrue(msgs[num++].equals(sqe.getMessage()));
        Throwable c = sqe.getCause();
        while (c != null) {
            assertTrue(msgs[num++].equals(c.getMessage()));
            c = c.getCause();
        }
        sqe = sqe.getNextException();
    }
}
项目:openjdk-jdk10    文件sqlIntegrityConstraintViolationExceptionTests.java   
/**
 * Validate that the ordering of the returned Exceptions is correct
 * using for-each loop
 */
@Test
public void test11() {
    sqlIntegrityConstraintViolationException ex =
            new sqlIntegrityConstraintViolationException("Exception 1",t2);
    ex.setNextException(ex1);
    ex.setNextException(ex2);
    int num = 0;
    for (Throwable e : ex) {
        assertTrue(msgs[num++].equals(e.getMessage()));
    }
}
项目:openjdk-jdk10    文件sqlIntegrityConstraintViolationExceptionTests.java   
/**
 * Validate that the ordering of the returned Exceptions is correct
 * using Traditional while loop
 */
@Test
public void test12() {
    sqlIntegrityConstraintViolationException ex =
            new sqlIntegrityConstraintViolationException("Exception 1",t2);
    ex.setNextException(ex1);
    ex.setNextException(ex2);
    int num = 0;
    sqlException sqe = ex;
    while (sqe != null) {
        assertTrue(msgs[num++].equals(sqe.getMessage()));
        Throwable c = sqe.getCause();
        while (c != null) {
            assertTrue(msgs[num++].equals(c.getMessage()));
            c = c.getCause();
        }
        sqe = sqe.getNextException();
    }
}
项目:openjdk9    文件sqlIntegrityConstraintViolationExceptionTests.java   
/**
 * Validate that the ordering of the returned Exceptions is correct
 * using for-each loop
 */
@Test
public void test11() {
    sqlIntegrityConstraintViolationException ex =
            new sqlIntegrityConstraintViolationException("Exception 1",t2);
    ex.setNextException(ex1);
    ex.setNextException(ex2);
    int num = 0;
    for (Throwable e : ex) {
        assertTrue(msgs[num++].equals(e.getMessage()));
    }
}
项目:openjdk9    文件sqlIntegrityConstraintViolationExceptionTests.java   
/**
 * Validate that the ordering of the returned Exceptions is correct
 * using Traditional while loop
 */
@Test
public void test12() {
    sqlIntegrityConstraintViolationException ex =
            new sqlIntegrityConstraintViolationException("Exception 1",t2);
    ex.setNextException(ex1);
    ex.setNextException(ex2);
    int num = 0;
    sqlException sqe = ex;
    while (sqe != null) {
        assertTrue(msgs[num++].equals(sqe.getMessage()));
        Throwable c = sqe.getCause();
        while (c != null) {
            assertTrue(msgs[num++].equals(c.getMessage()));
            c = c.getCause();
        }
        sqe = sqe.getNextException();
    }
}
项目:crudlet    文件RestfulExceptionMapper.java   
@Override 
public Response toResponse(Exception ex) {
    if (Options.RETURN_EXCEPTION_BODY) {
        if (ex instanceof PersistenceException) {
            Throwable cause = ex.getCause();
            if (cause != null) { // The type of this exception is determined at runtime
                cause = cause.getCause();
                if (cause instanceof sqlIntegrityConstraintViolationException) {
                    return new RestErrorBuilder(cause).createResponse();
                }
            }
        }
    }

    ExceptionMapper exceptionMapper = providers.getExceptionMapper(ex.getClass());
    if (exceptionMapper == null || exceptionMapper == this) {
        return Response.serverError().build();
    }
    else {
        return exceptionMapper.toResponse(ex);
    }
}
项目:steve-plugsurfing    文件OcppTagRepositoryImpl.java   
@Override
public int addOcppTag(OcppTagForm u) {
    try {
        return ctx.insertInto(OCPP_TAG)
                  .set(OCPP_TAG.ID_TAG,u.getIdTag())
                  .set(OCPP_TAG.PARENT_ID_TAG,u.getParentIdTag())
                  .set(OCPP_TAG.EXPIRY_DATE,toDateTime(u.getExpiration()))
                  .set(OCPP_TAG.NOTE,u.getNote())
                  .set(OCPP_TAG.BLOCKED,false)
                  .set(OCPP_TAG.IN_TRANSACTION,false)
                  .returning(OCPP_TAG.OCPP_TAG_PK)
                  .fetchOne()
                  .getocppTagPk();

    } catch (DataAccessException e) {
        if (e.getCause() instanceof sqlIntegrityConstraintViolationException) {
            throw new SteveException("A user with idTag '%s' already exists.",u.getIdTag());
        } else {
            throw new SteveException("Execution of addOcppTag for idTag '%s' Failed.",u.getIdTag(),e);
        }
    }
}
项目:jdk8u_jdk    文件sqlIntegrityConstraintViolationExceptionTests.java   
/**
 * Validate that the ordering of the returned Exceptions is correct
 * using for-each loop
 */
@Test
public void test11() {
    sqlIntegrityConstraintViolationException ex =
            new sqlIntegrityConstraintViolationException("Exception 1",t2);
    ex.setNextException(ex1);
    ex.setNextException(ex2);
    int num = 0;
    for (Throwable e : ex) {
        assertTrue(msgs[num++].equals(e.getMessage()));
    }
}
项目:jdk8u_jdk    文件sqlIntegrityConstraintViolationExceptionTests.java   
/**
 * Validate that the ordering of the returned Exceptions is correct
 * using Traditional while loop
 */
@Test
public void test12() {
    sqlIntegrityConstraintViolationException ex =
            new sqlIntegrityConstraintViolationException("Exception 1",t2);
    ex.setNextException(ex1);
    ex.setNextException(ex2);
    int num = 0;
    sqlException sqe = ex;
    while (sqe != null) {
        assertTrue(msgs[num++].equals(sqe.getMessage()));
        Throwable c = sqe.getCause();
        while (c != null) {
            assertTrue(msgs[num++].equals(c.getMessage()));
            c = c.getCause();
        }
        sqe = sqe.getNextException();
    }
}
项目:lookaside_java-1.8.0-openjdk    文件sqlIntegrityConstraintViolationExceptionTests.java   
/**
 * Validate that the ordering of the returned Exceptions is correct
 * using for-each loop
 */
@Test
public void test11() {
    sqlIntegrityConstraintViolationException ex =
            new sqlIntegrityConstraintViolationException("Exception 1",t2);
    ex.setNextException(ex1);
    ex.setNextException(ex2);
    int num = 0;
    for (Throwable e : ex) {
        assertTrue(msgs[num++].equals(e.getMessage()));
    }
}
项目:lookaside_java-1.8.0-openjdk    文件sqlIntegrityConstraintViolationExceptionTests.java   
/**
 * Validate that the ordering of the returned Exceptions is correct
 * using Traditional while loop
 */
@Test
public void test12() {
    sqlIntegrityConstraintViolationException ex =
            new sqlIntegrityConstraintViolationException("Exception 1",t2);
    ex.setNextException(ex1);
    ex.setNextException(ex2);
    int num = 0;
    sqlException sqe = ex;
    while (sqe != null) {
        assertTrue(msgs[num++].equals(sqe.getMessage()));
        Throwable c = sqe.getCause();
        while (c != null) {
            assertTrue(msgs[num++].equals(c.getMessage()));
            c = c.getCause();
        }
        sqe = sqe.getNextException();
    }
}
项目:isis-agri    文件SimpleObjectMenu_IntegTest.java   
@Test
public void whenAlreadyExists() throws Exception {

    // given
    FixtureScript fs = new SimpleObjectsTearDown();
    fixtureScripts.runFixtureScript(fs,null);
    transactionService.nextTransaction();
    wrap(menu).create("Faz");
    transactionService.nextTransaction();

    // then
    expectedExceptions.expectCause(causalChainContains(sqlIntegrityConstraintViolationException.class));

    // when
    wrap(menu).create("Faz");
    transactionService.nextTransaction();
}
项目:isis-app-quickstart    文件QuickObjectMenuIntegTest.java   
@Test
public void whenAlreadyExists() throws Exception {

    // given
    FixtureScript fs = new QuickObjectsTearDown();
    fixtureScripts.runFixtureScript(fs,null);
    nextTransaction();
    wrap(quickObjectMenu).create("Faz");
    nextTransaction();

    // then
    expectedExceptions.expectCause(causalChainContains(sqlIntegrityConstraintViolationException.class));

    // when
    wrap(quickObjectMenu).create("Faz");
    nextTransaction();
}
项目:isis-app-simpledsl    文件SimpleObjectsIntegTest.java   
@Test
public void whenAlreadyExists() throws Exception {

    // given
    FixtureScript fs = new SimpleObjectsTearDown();
    fixtureScripts.runFixtureScript(fs,null);
    nextTransaction();
    wrap(simpleObjects).create("Faz");
    nextTransaction();

    // then
    expectedExceptions.expectCause(causalChainContains(sqlIntegrityConstraintViolationException.class));

    // when
    wrap(simpleObjects).create("Faz");
    nextTransaction();
}
项目:isis-app-petclinic    文件PetsTest.java   
@Test
public void whenAlreadyExists() throws Exception {

    // given
    fixtureScript = new OwnersFixture();
    fixtureScripts.runFixtureScript(fixtureScript,null);
    nextTransaction();

    final Owner owner = fixtureScript.lookup("owners-fixture/owner-for-bill/item-1",Owner.class);
    assertthat(owner,is(notNullValue()));

    wrap(pets).create("Bonzo",PetSpecies.Dog,owner);
    nextTransaction();

    // then
    expectedException.expectCause(causalChainContains(sqlIntegrityConstraintViolationException.class));

    // when
    wrap(pets).create("Bonzo",owner);
    nextTransaction();
}
项目:isis-app-petclinic    文件OwnersTest.java   
@Test
public void whenAlreadyExists() throws Exception {

    // given
    fixtureScript = new PetClinicAppTearDownFixture();
    fixtureScripts.runFixtureScript(fixtureScript,null);
    nextTransaction();

    wrap(owners).create("Bill");
    nextTransaction();

    // then
    expectedException.expectCause(causalChainContains(sqlIntegrityConstraintViolationException.class));

    // when
    wrap(owners).create("Bill");
    nextTransaction();
}
项目:motech    文件ObjectException.java   
protected static String getMessageFromCause(Throwable cause) {
    String message = "Persistence error";
    if (cause instanceof ConstraintViolationException) {
        Set<ConstraintViolation<?>> violations = ((ConstraintViolationException) cause).getConstraintViolations();
        message = "";
        for (ConstraintViolation violation : violations) {
            message += (String.format("Field %s %s\n",violation.getPropertyPath(),violation.getMessage()));
        }
    } else if (cause instanceof JDODataStoreException) {
        for (Throwable exception : ((JDODataStoreException) cause).getnestedExceptions()) {
            if (exception instanceof sqlIntegrityConstraintViolationException) {
                message = exception.getMessage();
                break;
            }
        }
    }
    return message;
}
项目:cn1    文件sqlIntegrityConstraintViolationExceptionTest.java   
/**
 * @test java.sql.sqlIntegrityConstraintViolationException(String)
 */
public void test_Constructor_LString() {
    sqlIntegrityConstraintViolationException sqlIntegrityConstraintViolationException = new sqlIntegrityConstraintViolationException(
            "MYTESTSTRING");
    assertNotNull(sqlIntegrityConstraintViolationException);
    assertNull(
            "The sqlState of sqlIntegrityConstraintViolationException should be null",sqlIntegrityConstraintViolationException.getsqlState());
    assertEquals(
            "The reason of sqlIntegrityConstraintViolationException set and get should be equivalent","MYTESTSTRING",sqlIntegrityConstraintViolationException
                    .getMessage());
    assertEquals(
            "The error code of sqlIntegrityConstraintViolationException should be 0",sqlIntegrityConstraintViolationException.getErrorCode(),0);
}
项目:cn1    文件sqlIntegrityConstraintViolationExceptionTest.java   
/**
 * @test java.sql.sqlIntegrityConstraintViolationException(String,String)
 */
public void test_Constructor_LStringLString() {
    sqlIntegrityConstraintViolationException sqlIntegrityConstraintViolationException = new sqlIntegrityConstraintViolationException(
            "MYTESTSTRING1","MYTESTSTRING2");
    assertNotNull(sqlIntegrityConstraintViolationException);
    assertEquals(
            "The sqlState of sqlIntegrityConstraintViolationException set and get should be equivalent","MYTESTSTRING2",sqlIntegrityConstraintViolationException
                    .getsqlState());
    assertEquals(
            "The reason of sqlIntegrityConstraintViolationException set and get should be equivalent","MYTESTSTRING1",0);

}
项目:cn1    文件sqlIntegrityConstraintViolationExceptionTest.java   
/**
 * @test java.sql.sqlIntegrityConstraintViolationException(String,String)
 */
public void test_Constructor_LStringLString_1() {
    sqlIntegrityConstraintViolationException sqlIntegrityConstraintViolationException = new sqlIntegrityConstraintViolationException(
            "MYTESTSTRING",(String) null);
    assertNotNull(sqlIntegrityConstraintViolationException);
    assertNull(
            "The sqlState of sqlIntegrityConstraintViolationException should be null",String)
 */
public void test_Constructor_LStringLString_2() {
    sqlIntegrityConstraintViolationException sqlIntegrityConstraintViolationException = new sqlIntegrityConstraintViolationException(
            null,"MYTESTSTRING");
    assertNotNull(sqlIntegrityConstraintViolationException);
    assertEquals(
            "The sqlState of sqlIntegrityConstraintViolationException set and get should be equivalent",sqlIntegrityConstraintViolationException
                    .getsqlState());
    assertNull(
            "The reason of sqlIntegrityConstraintViolationException should be null",sqlIntegrityConstraintViolationException.getMessage());
    assertEquals(
            "The error code of sqlIntegrityConstraintViolationException should be 0",String,*       int)
 */
public void test_Constructor_LStringLStringI() {
    sqlIntegrityConstraintViolationException sqlIntegrityConstraintViolationException = new sqlIntegrityConstraintViolationException(
            "MYTESTSTRING1",1);
    assertNotNull(sqlIntegrityConstraintViolationException);
    assertEquals(
            "The sqlState of sqlIntegrityConstraintViolationException set and get should be equivalent",sqlIntegrityConstraintViolationException
                    .getMessage());
    assertEquals(
            "The error code of sqlIntegrityConstraintViolationException should be 1",1);
}
项目:cn1    文件sqlIntegrityConstraintViolationExceptionTest.java   
/**
 * @test java.sql.sqlIntegrityConstraintViolationException(String,*       int)
 */
public void test_Constructor_LStringLStringI_1() {
    sqlIntegrityConstraintViolationException sqlIntegrityConstraintViolationException = new sqlIntegrityConstraintViolationException(
            "MYTESTSTRING1",0);
    assertNotNull(sqlIntegrityConstraintViolationException);
    assertEquals(
            "The sqlState of sqlIntegrityConstraintViolationException set and get should be equivalent",*       int)
 */
public void test_Constructor_LStringLStringI_2() {
    sqlIntegrityConstraintViolationException sqlIntegrityConstraintViolationException = new sqlIntegrityConstraintViolationException(
            "MYTESTSTRING1",-1);
    assertNotNull(sqlIntegrityConstraintViolationException);
    assertEquals(
            "The sqlState of sqlIntegrityConstraintViolationException set and get should be equivalent",sqlIntegrityConstraintViolationException
                    .getMessage());
    assertEquals(
            "The error code of sqlIntegrityConstraintViolationException should be -1",-1);
}
项目:cn1    文件sqlIntegrityConstraintViolationExceptionTest.java   
/**
 * @test java.sql.sqlIntegrityConstraintViolationException(String,*       int)
 */
public void test_Constructor_LStringLStringI_3() {
    sqlIntegrityConstraintViolationException sqlIntegrityConstraintViolationException = new sqlIntegrityConstraintViolationException(
            "MYTESTSTRING",null,1);
    assertNotNull(sqlIntegrityConstraintViolationException);
    assertNull(
            "The sqlState of sqlIntegrityConstraintViolationException should be null",*       int)
 */
public void test_Constructor_LStringLStringI_4() {
    sqlIntegrityConstraintViolationException sqlIntegrityConstraintViolationException = new sqlIntegrityConstraintViolationException(
            "MYTESTSTRING",0);
    assertNotNull(sqlIntegrityConstraintViolationException);
    assertNull(
            "The sqlState of sqlIntegrityConstraintViolationException should be null",*       int)
 */
public void test_Constructor_LStringLStringI_5() {
    sqlIntegrityConstraintViolationException sqlIntegrityConstraintViolationException = new sqlIntegrityConstraintViolationException(
            "MYTESTSTRING",-1);
    assertNotNull(sqlIntegrityConstraintViolationException);
    assertNull(
            "The sqlState of sqlIntegrityConstraintViolationException should be null",*       int)
 */
public void test_Constructor_LStringLStringI_6() {
    sqlIntegrityConstraintViolationException sqlIntegrityConstraintViolationException = new sqlIntegrityConstraintViolationException(
            null,sqlIntegrityConstraintViolationException.getMessage());
    assertEquals(
            "The error code of sqlIntegrityConstraintViolationException should be 1",*       int)
 */
public void test_Constructor_LStringLStringI_7() {
    sqlIntegrityConstraintViolationException sqlIntegrityConstraintViolationException = new sqlIntegrityConstraintViolationException(
            null,*       int)
 */
public void test_Constructor_LStringLStringI_8() {
    sqlIntegrityConstraintViolationException sqlIntegrityConstraintViolationException = new sqlIntegrityConstraintViolationException(
            null,sqlIntegrityConstraintViolationException.getMessage());
    assertEquals(
            "The error code of sqlIntegrityConstraintViolationException should be -1",-1);
}
项目:cn1    文件sqlIntegrityConstraintViolationExceptionTest.java   
/**
 * @test java.sql.sqlIntegrityConstraintViolationException(Throwable)
 */
public void test_Constructor_LThrowable() {
    Throwable cause = new Exception("MYTHROWABLE");
    sqlIntegrityConstraintViolationException sqlIntegrityConstraintViolationException = new sqlIntegrityConstraintViolationException(
            cause);
    assertNotNull(sqlIntegrityConstraintViolationException);
    assertEquals(
            "The reason of sqlIntegrityConstraintViolationException should be equals to cause.toString()","java.lang.Exception: MYTHROWABLE",sqlIntegrityConstraintViolationException.getMessage());
    assertNull(
            "The sqlState of sqlIntegrityConstraintViolationException should be null",sqlIntegrityConstraintViolationException.getsqlState());
    assertEquals(
            "The error code of sqlIntegrityConstraintViolationException should be 0",0);
    assertEquals(
            "The cause of sqlIntegrityConstraintViolationException set and get should be equivalent",cause,sqlIntegrityConstraintViolationException.getCause());
}
项目:cn1    文件sqlIntegrityConstraintViolationExceptionTest.java   
/**
 * @test java.sql.sqlIntegrityConstraintViolationException(Throwable)
 */
public void test_Constructor_LThrowable_1() {
    sqlIntegrityConstraintViolationException sqlIntegrityConstraintViolationException = new sqlIntegrityConstraintViolationException(
            (Throwable) null);
    assertNotNull(sqlIntegrityConstraintViolationException);
    assertNull(
            "The sqlState of sqlIntegrityConstraintViolationException should be null",sqlIntegrityConstraintViolationException.getsqlState());
    assertNull(
            "The reason of sqlIntegrityConstraintViolationException should be null",0);
    assertNull(
            "The cause of sqlIntegrityConstraintViolationException should be null",sqlIntegrityConstraintViolationException.getCause());
}
项目:cn1    文件sqlIntegrityConstraintViolationExceptionTest.java   
/**
 * @test java.sql.sqlIntegrityConstraintViolationException(String,*       Throwable)
 */
public void test_Constructor_LStringLThrowable() {
    Throwable cause = new Exception("MYTHROWABLE");
    sqlIntegrityConstraintViolationException sqlIntegrityConstraintViolationException = new sqlIntegrityConstraintViolationException(
            "MYTESTSTRING",cause);
    assertNotNull(sqlIntegrityConstraintViolationException);
    assertEquals(
            "The reason of sqlIntegrityConstraintViolationException set and get should be equivalent",sqlIntegrityConstraintViolationException
                    .getMessage());
    assertNull(
            "The sqlState of sqlIntegrityConstraintViolationException should be null",*       Throwable)
 */
public void test_Constructor_LStringLThrowable_1() {
    sqlIntegrityConstraintViolationException sqlIntegrityConstraintViolationException = new sqlIntegrityConstraintViolationException(
            "MYTESTSTRING",(Throwable) null);
    assertNotNull(sqlIntegrityConstraintViolationException);
    assertEquals(
            "The reason of sqlIntegrityConstraintViolationException set and get should be equivalent",*       Throwable)
 */
public void test_Constructor_LStringLThrowable_2() {
    Throwable cause = new Exception("MYTHROWABLE");
    sqlIntegrityConstraintViolationException sqlIntegrityConstraintViolationException = new sqlIntegrityConstraintViolationException(
            null,cause);
    assertNotNull(sqlIntegrityConstraintViolationException);
    assertNull(
            "The reason of sqlIntegrityConstraintViolationException should be null",*       Throwable)
 */
public void test_Constructor_LStringLThrowable_3() {
    sqlIntegrityConstraintViolationException sqlIntegrityConstraintViolationException = new sqlIntegrityConstraintViolationException(
            (String) null,(Throwable) null);
    assertNotNull(sqlIntegrityConstraintViolationException);
    assertNull(
            "The sqlState of sqlIntegrityConstraintViolationException should be null",*       Throwable)
 */
public void test_Constructor_LStringLStringLThrowable() {
    Throwable cause = new Exception("MYTHROWABLE");
    sqlIntegrityConstraintViolationException sqlIntegrityConstraintViolationException = new sqlIntegrityConstraintViolationException(
            "MYTESTSTRING1",cause);
    assertNotNull(sqlIntegrityConstraintViolationException);
    assertEquals(
            "The sqlState of sqlIntegrityConstraintViolationException set and get should be equivalent",*       Throwable)
 */
public void test_Constructor_LStringLStringLThrowable_1() {
    sqlIntegrityConstraintViolationException sqlIntegrityConstraintViolationException = new sqlIntegrityConstraintViolationException(
            "MYTESTSTRING1",null);
    assertNotNull(sqlIntegrityConstraintViolationException);
    assertEquals(
            "The sqlState of sqlIntegrityConstraintViolationException set and get should be equivalent",sqlIntegrityConstraintViolationException.getCause());
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。