Java中的Set`URI`片段:能否抑制`URISyntaxException`

Java中的Set`URI`片段:能否抑制`URISyntaxException`,java,exception,uri,Java,Exception,Uri,我有一个URI和一个字符串片段。现在我想将片段fragment添加到uri(或者,如果uri已经有一个片段,就用fragment交换uri的片段) 我可以做新建URI(URI.getScheme(),URI.getSchemeSpecificPart(),fragment)。在形式上,这可能会抛出一个URISyntaxException。这里怎么会发生这种异常?我可以安全地禁止(捕获并忽略)它吗?当您的URI包含需要编码的非法字符时,可能会发生此异常。您需要编写catch语句或将URISynta

我有一个
URI
和一个
字符串片段
。现在我想将片段
fragment
添加到
uri
(或者,如果
uri
已经有一个片段,就用
fragment
交换
uri
的片段)


我可以做
新建URI(URI.getScheme(),URI.getSchemeSpecificPart(),fragment)
。在形式上,这可能会抛出一个
URISyntaxException
。这里怎么会发生这种异常?我可以安全地禁止(
捕获并忽略)它吗?

当您的URI包含需要编码的非法字符时,可能会发生此异常。您需要编写catch语句或将URISyntaxException添加到方法签名。

您找到这样一个字符的示例了吗?当我尝试它时,这并没有产生一个
URISyntaxException
fragment=“\u0000\f\t\r\n!\”#$%&'()*+,-./0123456789:@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^ uu0060abcdefghijklmnopqrstuvwxyz{124;}\ u007F\u00AD\u0308\uD83D\ud48”
。即使是坏的代理也做了:
fragment=“\uDCFF\uD800”
。关于
fragment
参数的文档:“引用任何非合法URI字符”。