traverse, solved handle exception problem