您可以使用Uri.TryCreate
验证URL:
public bool IsValidUri(string uri)
{
Uri validatedUri;
return Uri.TryCreate(uri, UriKind.RelativeOrAbsolute, out validatedUri);
}
这些 comments 表明,TryCreate
只会将异常处理向下移动一级.然而,我判断了源代码,发现情况并非如此.TryCreate
中没有try/catch,它使用一个不应该抛出的自定义解析器.