我正在遍历页面上的链接列表,为每个链接创建一个 URI 对象。URI对象创建的时候不知道URL有没有scheme,所以后面调用$uri->host()
的时候有时候会得到
Can't locate object method "host" via package "URI::_generic" at -e line 1.
因为 URI 对象是 type URI::_generic
,并且没有 host() 属性。
我可以在使用正则表达式创建对象之前进行检查,或者我可以将$uri->host()
调用包装在一个eval
块中以处理异常,但我认为必须有一个比其中任何一个更温和的方法。