优化代码，不再抛出异常