diff --git a/dubbo-samples-validation/src/main/java/org/apache/dubbo/samples/validation/ValidationConsumer.java b/dubbo-samples-validation/src/main/java/org/apache/dubbo/samples/validation/ValidationConsumer.java
index 5079907..120dfe3 100644
--- a/dubbo-samples-validation/src/main/java/org/apache/dubbo/samples/validation/ValidationConsumer.java
+++ b/dubbo-samples-validation/src/main/java/org/apache/dubbo/samples/validation/ValidationConsumer.java
@@ -19,17 +19,13 @@
 
 package org.apache.dubbo.samples.validation;
 
-import java.util.Date;
-import java.util.Set;
-
-import javax.validation.ConstraintViolation;
-import javax.validation.ConstraintViolationException;
-
 import org.apache.dubbo.samples.validation.api.ValidationParameter;
 import org.apache.dubbo.samples.validation.api.ValidationService;
-
 import org.springframework.context.support.ClassPathXmlApplicationContext;
 
+import javax.validation.ValidationException;
+import java.util.Date;
+
 public class ValidationConsumer {
 
     public static void main(String[] args) throws Exception {
@@ -53,10 +49,8 @@
             parameter = new ValidationParameter();
             validationService.save(parameter);
             System.err.println("Validation Save ERROR");
-        } catch (Exception e) {
-            ConstraintViolationException ve = (ConstraintViolationException) e;
-            Set<ConstraintViolation<?>> violations = ve.getConstraintViolations();
-            System.out.println(violations);
+        } catch (ValidationException e) {
+            e.printStackTrace();
         }
 
         // Delete OK
@@ -67,10 +61,8 @@
         try {
             validationService.delete(0, "abc");
             System.err.println("Validation Delete ERROR");
-        } catch (Exception e) {
-            ConstraintViolationException ve = (ConstraintViolationException) e;
-            Set<ConstraintViolation<?>> violations = ve.getConstraintViolations();
-            System.out.println(violations);
+        } catch (ValidationException e) {
+            e.printStackTrace();
         }
     }
 
