异常处理-phptrycatch中的catch(Exception$e)中的Exception有什么作用?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了异常处理-phptrycatch中的catch(Exception$e)中的Exception有什么作用?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1406字,纯文字阅读大概需要3分钟。
内容图文
![异常处理-phptrycatch中的catch(Exception$e)中的Exception有什么作用?](/upload/InfoBanner/zyjiaocheng/241/1705e8465c644d4d9f0e689ff364dc8c.jpg)
回复内容:
首先很明确的是 try ... catch ... 是一个语言结构。
那既然如此就不能用函数参数类型限定的方式去理解 catch 后面的括号里的 Exception 了。
如果这里没有 Exception,比如这样写:
<?php try { } catch ($e) { }
你会得到一个错误:
Parse error: parse error, expecting "identifier (T_STRING)"' or "namespace (T_NAMESPACE)"' or `"\\ (T_NS_SEPARATOR)"' in ...
显而易见,这里的 Exception 是一种『预期』,用于判断捕获到的异常类型的。
如果用类的情景来翻译一下,大概就类似于:
<?php $e = new Exception; if ($e instanceof Exception) { # do something ... }
如果你是多个 catch,比如:
<?php try { throw new CustomException("Error Processing Request", 1); } catch (CustomException $e) { echo 1; } catch (Exception $e) { echo 2; } class CustomException extends Exception { }
虽然我们抛出的异常也属于 Exception,但是 catch 捕捉到第一个就停止了,所以这里只会输出 1,如果互换 catch (CustomException $e)
和 catch (Exception $e)
也一样。
这也和以下情况相同:
<?php $e = new CustomException; if ($e instanceof CustomException) { echo 1; } elseif ($e instanceof Exception) { echo 2; } class CustomException extends Exception { }
可以看下java,Exception是个类名,catch的$e是类的实例
你也可以自己写个类来继承Exception,然后再catch中抓住
类型吧。你也可以写自己的Exception类
以上就是异常处理 - php try catch 中的catch(Exception $e) 中的Exception 有什么作用?的内容,更多相关内容请关注PHP中文网(www.gxlcms.com)!
内容总结
以上是互联网集市为您收集整理的异常处理-phptrycatch中的catch(Exception$e)中的Exception有什么作用?全部内容,希望文章能够帮你解决异常处理-phptrycatch中的catch(Exception$e)中的Exception有什么作用?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。