修改了pOpen的实现，增加try catch