Tag: exception

合理处理JSR223 Rhino抛出的ScriptException

我开始遇到一个非常有用的JSR223脚本环境的肮脏小秘密。 我正在使用Java 6 SE附带的内置版Rhino,通过JSR223的ScriptingEngine等访问它。 当我得到一个由我导出到Javascript环境的Java对象引起的exception时,它是一个ScriptingException ,它包装了一个包装我真正exception的sun.org.mozilla.javascript.internal.WrappedException (例如UnsupportedOperationException或者其他) ScriptingException为getFileName()返回null,为getLineNumber()返回-1。 但是当我查看消息和调试器时, WrappedException具有正确的文件名和行号,它只是不通过ScriptingException的getter方法发布它。 大。 现在我该怎么办? 我不知道我将如何使用sun.org.mozilla.javascript.internal.wrappedException,它不是公共类。

GSON是Java Throwable

我有一个包含一段数据和相关exception的对象。 Public class MyBean{ Private String data; Private Exception problem; . . . } 当我尝试GSON.toJSON(对象)时,它给我一个循环引用错误抱怨“问题”字段。 有没有办法让GSON处理这些对象?

使用JUnit 4的预期exception机制导致意外行为的原因?

我试图测试一个特定的方法从方法抛出预期的exception。 根据JUnit4文档和这个答案,我把测试编写为: @Test(expected=CannotUndoException.class) public void testUndoThrowsCannotUndoException() { // code to initialise ‘command’ command.undo(); } 但是,此代码未通过JUnit测试,将抛出(和预期)exception报告为错误。 我正在测试的方法只有在体内: public void undo() { throw new CannotUndoException(); } 此外,以下测试通过: public void testUndoThrowsCannotUndoException() { // code to initialise ‘command’ try { command.undo(); fail(); } catch (CannotUndoException cue){ } } 意味着实际抛出了预期的exception。 我实际上计划将方法更改为实际执行某些操作,而不是仅仅抛出exception,但是让我对导致问题的原因感到好奇,以免将来再次发生。 已进行以下检查: 导入到测试用例中的CannotUndoException是正确的 JUnit的第4版是我的类路径中唯一的一个 清理和构建Eclipse工作区并没有改变结果 我正在使用JUnit 4.1,在同一个测试中我正在使用Mockito。 什么可能导致错误的失败?

Java大十进制数格式exception

为什么下面的代码抛出了java数字格式exception? BigDecimal d = new BigDecimal(“10934,375”);

FileNotFoundException与NoSuchFileException

我注意到另一个Javaexception表明该文件不存在 – NoSuchFileException 。 我的任务是重构一个api,它从不同的方法抛出这两个,我只想使用一个。 我应该将NoSuchFileException映射到FileNotFoundException吗? 我应该使用NoSuchFileException而不是FileNotFoudnException因为它更具体吗? 编辑:更新了问题。 我在发布此问题之前阅读了文档并了解了基本的区别。 我希望在这种情况下获得更多信息和指导,因为类型的exception处理对于服务api的客户端很重要,我想避免在需要对两种exception类型进行检查时的情况。

如何在java中传播exception

我是一名C程序员,最近刚刚学习了一些java,因为我正在开发一个Android应用程序。 目前我处于一种情况。 以下是一个。 public Class ClassA{ public ClassA(); public void MyMethod(){ try{ //Some code here which can throw exceptions } catch(ExceptionType1 Excp1){ //Here I want to show one alert Dialog box for the exception occured for the user. //but I am not able to show dialog in this context. So I want to propagate it […]

Apache Hadoop setXIncludeAware UnsupportedOperationException

我正在尝试运行Apache Hadoop 1.21,但我遇到了这个exception: Failed to set setXIncludeAware(true) for parser org.apache.xerces.jaxp.DocumentBuilderFactoryImpl org.apache.xerces.jaxp.DocumentBuilderFactoryImpl@2662e5cf:java.lang.UnsupportedOperationException 完整堆栈跟踪: 13/10/17 17:22:52 ERROR conf.Configuration: Failed to set setXIncludeAware(true) for parser org.apache.xerces.jaxp.DocumentBuilderFactoryImpl@2662e5cf:java.lang.UnsupportedOperationException: setXIncludeAware is not supported on this JAXP implementation or earlier: class org.apache.xerces.jaxp.DocumentBuilderFactoryImpl java.lang.UnsupportedOperationException: setXIncludeAware is not supported on this JAXP implementation or earlier: class org.apache.xerces.jaxp.DocumentBuilderFactoryImpl at javax.xml.parsers.DocumentBuilderFactory.setXIncludeAware(DocumentBuilderFactory.java:589) at org.apache.hadoop.conf.Configuration.loadResource(Configuration.java:1131) at org.apache.hadoop.conf.Configuration.loadResources(Configuration.java:1107) at […]

Java,Parse JSON我知道的对象是null

我有一个JSON对象数组。 要解析这些数组并存储简单的数据类型值,我必须对键名进行假设并相应地存储它们。 我也知道有时键的值将为null。 示例{[“promotion”:null]}我将如何解析这个? 如果我尝试访问值为null的键,我会得到一个JSONException。 现在这是有道理的,但即使我这样做if(myJSObject.getString(“promotion”)!=null)然后我检查时仍然会得到JSONexception 我如何在我的代码中对null对象进行条件检查,以便我可以避免JSONexception

如何使用logger打印exception?

我有一种情况,我想使用记录器打印catch块中捕获的所有exception。 try { File file = new File(“C:\\className”).mkdir(); fh = new FileHandler(“C:\\className\\className.log”); logger.addHandler(fh); logger.setUseParentHandlers(false); SimpleFormatter formatter = new SimpleFormatter(); fh.setFormatter(formatter); } catch (Exception e) { logger.info(e); } 我得到的错误记录器无法应用于java.io.Exception… 我担心的是,如果我在try块中做了很多事情,并且我只保留一个catch块作为catch(Exception e),那么有没有办法使用logger来打印catch块中捕获的任何exception? 注意:我们使用的是java.util.logging.Logger API

什么是来自.net的java等效的AggregateException?

在.net中,AggregateException类允许您抛出包含多个exception的exception。 例如,如果并行运行多个任务,并且其中一些任务因exception而失败,则您希望抛出AggregateException。 java有一个等价的类吗? 具体案例我想用它: public static void runMultipleThenJoin(Runnable… jobs) { final List errors = new Vector(); try { //create exception-handling thread jobs for each job List threads = new ArrayList(); for (final Runnable job : jobs) threads.add(new Thread(new Runnable() {public void run() { try { job.run(); } catch (Exception ex) { errors.add(ex); } }})); //start […]