no basic bug and need to custom exception
modify some catch exception,but not completely