抛出异常改成trigger_error