Try Uri.IsWellFormedUriString():
-
The string is not correctly escaped.
http://www.example.com/path???/file name -
The string is an absolute Uri that represents an implicit file Uri.
c:\\directory\filename -
The string is an absolute URI that is missing a slash before the path.
file://c:/directory/filename -
The string contains unescaped backslashes even if they are treated as forward slashes.
http:\\host/path/file -
The string represents a hierarchical absolute Uri and does not contain “://”.
www.example.com/path/file -
The parser for the Uri.Scheme indicates that the original string was not well-formed.
The example depends on the scheme of the URI.