在代码中需要捕获一个异常,使用catch(Exception $e)
无效,但是改成catch(\Exception $e)
就可以。大概知道跟命名空间什么的有关,但是具体的不是很明白,求解答。另外,发现此文件中其他用到异常的地方都是用的(Exception $e)
而非(\Exception $e)
在代码中需要捕获一个异常,使用catch(Exception $e)
无效,但是改成catch(\Exception $e)
就可以。大概知道跟命名空间什么的有关,但是具体的不是很明白,求解答。另外,发现此文件中其他用到异常的地方都是用的(Exception $e)
而非(\Exception $e)
情迷说得对。
如果你的PHP文件定义了命名空间,catch(Exception $e)
则会寻找该命名空间下面的Exception 类,如果未定义就会出现找不到类的问题。
catch(\Exception $e)
表示根空间,这个类是始终存在。
推荐看一下 modern php
这本书。
1 回答4.1k 阅读✓ 已解决
3 回答1.9k 阅读✓ 已解决
2 回答2.3k 阅读✓ 已解决
3 回答1.1k 阅读
1 回答1.4k 阅读✓ 已解决
2 回答2.2k 阅读
1 回答627 阅读✓ 已解决
如果你的PHP文件定义了命名空间,那么该命名空间下面的class 用法必须加\
表示根空间,也就是php自己的class,不是你PHP文件里面的class