When solving constrained multi-objective optimization problems, the challenge is that how to deal with all kinds of constraints regardless of the shape of the feasible region. Especially when the feasible region is discrete or very small, some constraint handling techniques cannot solve it exactly. To address this issue, this paper proposes a new technique to handle constraints. First, all the constraints will be sorted to some grades from hard to easy according to their constrained violations. Second, a niching crowding distance mechanism is used to guarantee the diversity of the pareto front better. The experiments show that the proposed algorithm can generate a set uniformly distributed pareto optimal solutions under constrains.