php中为什么不用if代替try
2个回答
展开全部
这是两个 东西好咩
try 是处理异常的 可以结合 throw 及时抛出异常,然后提前结束某个方法 然后提交给catch捕获。最后还可以finally 做内存、资源释放工作
举个栗子
比如判断 post来的数据 是否合法
你可以用if 判断 $_POST 然后 不合法的话 可以exit掉php脚本
但是 用try 再镶嵌 if判断 再加throw抛出异常, 不但可以 集中在catch中处理这些错误,更可以根据你自定义的异常等级 有不同的处理方式。
写 高度集成的类的时候 try catch 非常好用。 就是因为他 可以 抛出 Expection 类。
另外 if 是根据你的 后面表达式的 真假 来执行内部 流程控制
而try 仅仅是发生异常的时候 废弃掉try {}中的过程体 再在catch中捕获这些异常。
或者自己用throw强行抛出异常 也可以,同时也会终止掉try的过程体
至于你自己是否抛出自定义的异常,到时可选的。
详细请参阅php手册 异常处理章节。
try 是处理异常的 可以结合 throw 及时抛出异常,然后提前结束某个方法 然后提交给catch捕获。最后还可以finally 做内存、资源释放工作
举个栗子
比如判断 post来的数据 是否合法
你可以用if 判断 $_POST 然后 不合法的话 可以exit掉php脚本
但是 用try 再镶嵌 if判断 再加throw抛出异常, 不但可以 集中在catch中处理这些错误,更可以根据你自定义的异常等级 有不同的处理方式。
写 高度集成的类的时候 try catch 非常好用。 就是因为他 可以 抛出 Expection 类。
另外 if 是根据你的 后面表达式的 真假 来执行内部 流程控制
而try 仅仅是发生异常的时候 废弃掉try {}中的过程体 再在catch中捕获这些异常。
或者自己用throw强行抛出异常 也可以,同时也会终止掉try的过程体
至于你自己是否抛出自定义的异常,到时可选的。
详细请参阅php手册 异常处理章节。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询