无效的URI:无法解析主机名

kum*_*mar 17 c# error-handling uri

我正在尝试构建Uri但是我无法处理坏的uri

我们有什么方法可以处理坏的uri

if (reviews[e.Item.ItemIndex].URL.ToString().Contains("http:"))
{
      oURI = new Uri(reviews[e.Item.ItemIndex].URL.ToString());
}
else 
{
   oURI = new Uri("http://"+ reviews[e.Item.ItemIndex].URL.ToString());
}
Run Code Online (Sandbox Code Playgroud)

其他部分因为坏的uri而出错了谢谢

SLa*_*aks 20

致电Uri.TryCreate:

string original = reviews[e.Item.ItemIndex].URL.ToString();
if (!original.StartsWith("http:"))
    original = "http://" + original;
Uri uri;
if (!Uri.TryCreate(original, UriKind.Absolute, out uri)) {
    //Bad bad bad!
}
Run Code Online (Sandbox Code Playgroud)


Dev*_*Dev 5

我在“http://”之后有一个空格,例如 http:// exampleServer/exampleservice.svc ,这导致了此错误。