异常处理
merge byronlee/master