- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试使用 java 读取 URL
try{
HttpURLConnection c = (HttpURLConnection) new URL(args[0]).openConnection();
c.setRequestMethod("GET");
c.setRequestProperty("User-Agent","Mozilla/5.0");
c.setRequestProperty("Accept-Language","en-US,en;q=0.5");
System.out.println(c.getResponseCode());
}catch(java.security.cert.CertificateException e){
System.out.println("not valid");
}catch(Exception e){
System.out.println(e.getMessage());
}
当我在具有无效 ssl 证书的域上使用最后一个 catch 时,它会抛出 java.security.cert.CertificateException: No name matching <domainName> found
但是当我 try catch 更多作品的确切异常时,它不会编译并打印此错误:
error: exception CertificateException is never thrown in body of corresponding try statement
}catch(java.security.cert.CertificateException e){
^
我如何向编译器保证这个捕获在正确的位置,或者我的问题是什么?
最佳答案
when I use just the last catch on domains with invalid ssl certification, it throws java.security.cert.CertificateException: No name matching found
不,它没有。它抛出一个 SSLHandshakeException
包装该异常。再看看。
how can I assure compiler that this catch is in the right place
你不能。它不是。编译器是正确的。
what's my problem?
正如编译器所说的那样。您正在捕获未抛出的异常。取下 Hook 。如果愿意,捕获 SSLHandshakeException
。
关于java - 异常 CertificateException 永远不会在相应的 try 语句的主体中抛出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27211606/
我在 Java 中遇到异常处理问题,这是我的代码。当我尝试运行此行时出现编译器错误:throw new MojException("Bledne dane");。错误是: exception MojE
我刚刚开始学习asp.net。在你们的支持下,我希望我能从这个论坛学到更多东西。 我的问题是, 我在 asp.net 页面中有一个 TabContainer1,因为每个选项卡面板中有多个类似 (60)
我是一名优秀的程序员,十分优秀!