Tag: exception

Java – 可以抛出exception

我目前正在使用play2框架。 我有几个类抛出exceptions但play2s全局onError处理程序使用throwable而不是exception。 例如,我的一个类是抛出NoSessionException 。 如果它是NoSessionException我可以检查throwable对象吗?

如何设置Eclipse以阻止exception发生?

如何设置Eclipse以在发生exception时停止。 我有一个Eclipse断点设置来打破exception。 在下面的代码示例中,我遇到的问题是Eclipse尝试打开Integer源代码。 有没有办法让我的代码示例中显示的调试器中断? 如果我向下移动堆栈跟踪,我将到达这一行,如果有一种方法可以在没有“Source not found”窗口的情况下执行此操作,那就太好了。 这可以在Visual Studio中完成,所以它让我疯狂,无法在Eclipse中找到这样做的方法。 package com.test; public class QuickTest { public static void main(String[] args) { try { test(); } catch(NumberFormatException e) { System.out.println(e.getMessage()); } } private static void test() { String str = “notAnumber”; Integer.parseInt(str);//<—-I want debugger to stop here } }

JSTL,Bean和方法调用

我正在开发一个JSP,我需要调用来自Bean的对象的方法。 该页面的先前版本不使用JSTL,它可以正常工作。 我的新版本有这样的设置: <c:set var="pageDividers" value="” /> 变量pageDividers是一个List对象。 我遇到了这个问题:当我要求pageDivider的大小时,会抛出exception。 我知道这是一个简单的JTSL错误 – 我做错了什么? 错误消息是: 未指定默认命名空间时,函数大小必须与前缀一起使用 如何正确访问或调用pageDividers对象的方法?

Collections.sort()throws比较方法违反了它的一般合同! 例外

我正在尝试对List 对象进行排序,并且抛出此异常(仅适用于大型列表) 排序代码: List sentenceList = finalRepresentation.getSentences(); Collections.sort(sentenceList); // <=== EXCEPTION THROWN HERE!!! FinalSentence类标题: public class FinalSentence implements Comparable{…} compareTo()实现: @Override public int compareTo(FinalSentence o) { if (this == o) { return 0; } if (this.score > o.score) { return 1; } if (this.score < o.score) { return -1; } return 0; } 这是例外: Exception […]

您是否针对特定问题或一般例外编写例外情况?

我有一些代码为用户提供用户ID,然后向该用户发送电子邮件。 emailUtil.sendEmail(userId, “foo”); public void sendEmail(String userId, String message) throws MailException { /* … logic that could throw a MailException */ } 可能由于多种原因而抛出MailException ,电子邮件地址出现问题,邮件模板出现问题等。 我的问题是:你是为这些exception中的每一个创建一个新的exception类型,然后单独处理它们,还是创建一个MailException,然后在exception中存储一些东西(计算机可读的东西,而不是描述文本)我们根据实际发生的事情做不同的事情。 编辑:作为澄清,例外不是日志和什么不是,这与代码如何反应它们有关。 为了继续使用邮件示例,让我们说当我们发送邮件时,它可能会因为您没有电子邮件地址而失败,或者因为您没有有效的电子邮件地址,或者可能会失败等等。 我的代码希望对每个问题做出不同的反应(主要是通过更改返回给客户端的消息,但也包括实际逻辑)。 最好是针对这些问题中的每一个进行exception实现,还是一个具有内部特征的一个伞状exception(枚举说),让代码区分它是什么类型的问题。

在Java调试器中,如何忽略从不通过我的代码的exception

我目前正在使用IntelliJ IDEA进行Java开发,但我也对针对其他IDE或调试Java代码的一般概念的答案感兴趣。 因为这是我在许多IDE中遗漏的function,所以我不确定在从其他语言转移调试习惯时是否错过了工作流程概念。 假设我在myapp.*编写了一些代码myapp.*使用somelib.*框架类somelib.* 。 典型的堆栈跟踪可以从任一包开始,并且可以在它们之间切换多次。 我们也说我在假设我的代码中存在错误并且库代码中没有任何错误的情况下进行调试。 示例堆栈跟踪(仅显示类名称): somelib.D (current stack frame) somelib.C myapp.Y myapp.X somelib.B somelib.A 通常,我对以下类型的exception不感兴趣,并且不希望调试器打破它们: 在somelib.B抛出并在somelib.B捕获。 库代码抛出exception以处理库内的有问题状态或停止应用程序。 在后一种情况下,我只对exception消息感兴趣,希望告诉我什么是错的。 在somelib.D抛出并在somelib.D捕获。 库代码可以使用exception作为逻辑forms,其中尝试某个动作,并且在出现问题时采用替代路径,或者通过其他方式通过问题通知我的代码(例如,在适当的情况下返回空引用) 。 我感兴趣的例外类型: 在somelib.C或somelib.D抛出,而不是在somelib.C或somelib.D 。 在这里,我希望调试器在myapp.Y中断行,我从somelib.C调用代码。 在myapp.X或myapp.Y抛出,无论是捕获还是未捕获。 在这里,我希望调试器在引发exception的行中断。 IntelliJ IDEA为我提供了选择我想要在捕获或未捕获的exception或两者上中断的选项,并限制将exception抛出到一组类的位置。 这些选项并没有多大帮助,因为我通常想要打破任何exception,无论是抓住还是未捕获,只要我写的代码介于它被抛出的位置和它最终被捕获的位置之间 。

为什么我会出现握手失败(Java SSL)

我正在通过HTTPS连接到Web服务。 我已经完成了我认为使其工作所需的所有内容,但最终我得到了握手失败。 我发现作为一个新用户,我不能发布超过2个链接,因为“垃圾邮件保护” – 比很多堆栈溢出…无论如何这里是一个链接到一个所有链接拼写的pastebinpost…所以当我在这里写了“链接#1”,它是对这些链接的引用: http : //pastebin.com/y4zGNRC7 我使用HttpClient(服务URL上的GET)validation了相同的行为,并实际通过CXF代理调用Web服务 我正在设置密钥库和信任库 – 我尝试了“in code”方式(链接#1)和设置系统属性 – 即System.setProperty(“javax.net.ssl.keyStore”,“mykeystore.jks” ); SSL调试已启用(javax.net.debug = all) SSL调试脱口而出密钥库和信任库的内容(即看起来像java“了解它们”) – 链接#2 似乎有一些客户端 – 服务器通信正在进行,但随后由于某种原因链接#3崩溃 我在浏览器(Chrome)中使用客户端和CA证书并使用openssl s_client成功连接到服务器 wireshark显示较少的客户端 – 服务器通话来自java(链接#4),然后例如来自Chrome(链接#5) 另一个奇怪的事情是,当我设置密钥库时我似乎得到了相同的行为,而当我没有设置密钥库时(唯一的区别是当我在控制台中打印密钥库内容时,但就是这样)。 我试过谷歌搜索问题,我在stackoverflow上看到了很多类似的post,但没有任何帮助。 我尝试更改协议版本(“TLSv1”,“SSLv3”,甚至是奇怪的v2 Hello)。 任何帮助将不胜感激 – 也许我可能忽略了一些基本的东西…我在这里绝望… Thanx PS我在Fedora Core 15(64位)上运行java 1.6 update 30

Java:BufferedReader的readLine()中的IOEXceptions是什么?

我可以用try-catch循环“修复”下面的exception,但我无法理解原因。 为什么“in.readLine()”部分会连续点燃IOExceptions? 抛出这些exception的真正目的是什么,目标可能不仅仅是更多的副作用? 代码和IOExceptions $ javac ReadLineTest.java ReadLineTest.java:9: unreported exception java.io.IOException; must be caught or declared to be thrown while((s=in.readLine())!=null){ ^ 1 error $ cat ReadLineTest.java import java.io.*; import java.util.*; public class ReadLineTest { public static void main(String[] args) { String s; BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); // WHY IOException here? while((s=in.readLine())!=null){ System.out.println(s); } […]

Servlet:SEVERE:为servlet分配exception

下面的堆栈跟踪是我尝试访问servlet时得到的,这似乎从Tomcat管理器运行良好。 11 Sep, 2012 11:50:12 AM org.apache.catalina.core.ApplicationContext log INFO: Marking servlet LoginServlet as unavailable 11 Sep, 2012 11:50:12 AM org.apache.catalina.core.StandardWrapperValve invoke SEVERE: Allocate exception for servlet LoginServlet java.lang.Error: Unresolved compilation problems: The import javax.servlet cannot be resolved The import javax.servlet cannot be resolved The import javax.servlet cannot be resolved The import javax.servlet cannot be resolved […]

EJB3.1系统exception与javax.ejb.EJBException

在提出我的问题之前,只是关于EJB3.1exception的一些背景知识 – 应用程序例外包括 用户定义的具有@ApplicationException注释的已检查或未检查的exception 所有已检查的例外 java.lang.Exception&它的子类exception 除了java.rmi.RemoteException和它的子类exception 系统例外包括 java.rmi.RemoteException和它的子类exception 所有未经检查的例外情况 java.lang.RuntimeException和它的子类exception java.lang.Error和它的子类exception 以下是我在本书中读到的声明 在EJB系统中,客户端不会例外,当遇到此类exception时,这些exception不会按原样传递给客户端,而是在javax.ejb.EJBException中包含。 我的问题 – 上面描述的所有应用程序exception是否应该由EJB直接抛给客户端? 如果在抛出到客户端之前将系统exception包装在javax.ejb.EJBException中,那么javax.ejb.EJBException是否被视为系统exception?