问题标签 [throwable]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1264 浏览

mule - 在 MuleStudio 中测试全局元素连接时出错

我正在使用 MuleStudio 3.4 并有一个带有 Drupal 连接器的简单流程。此 Drupal 连接器的配置来自 Global ElemCent 配置。

但是,当我想从全局元素属性窗口测试连接时,我收到以下消息:

测试连接失败:无效的全局元素。无法访问要测试的全局元素。java.long.Throwable

这是配置 XML:

0 投票
4 回答
557 浏览

java - Try/Catch 对构造类的构造函数中抛出异常的影响

我正在玩弄我的一些代码,遇到了一些我不完全理解的东西。我有一个名为 SentimentClassifier 的类,它的构造函数如下所示:

我有另一个创建这个的类,如下所示:

如果我像这样运行代码,一切正常。但是,如果我将第一个类从 usingtry/catch更改throw为 exception,如下所示:

突然,第二节课抱怨说IOException没有得到处理。为什么仅针对thrown异常而不是针对try/catch?

0 投票
6 回答
1709 浏览

java - 为什么 catch 块不能是 Object 类型?

我是 JAVA 新手,我正在准备我的 OCP JP 认证。

我对异常处理有这个疑问

我知道不应该处理断言,但我只是在使用它。据我所知 Object->Throwable ->Exception and Error

如果我在 catch 块中有 Throwable 或 Exception 或 Error 它可以工作,但是当我有一个超类的对象时,eclipse 会显示一个编译时错误。

为什么我不能在 catch 块中有对象?

0 投票
8 回答
57656 浏览

java - printStackTrace 到 java.util.logging.Logger

如何使用java.util.Logger 打印整个堆栈跟踪?(没有恼人的 Netbeans)。

这个问题最初应该指定留Java SE 中。忽略该要求是我的错误。

错误代码:

也可以看看:

https://stackoverflow.com/a/7100975/262852

0 投票
1 回答
130 浏览

java - 哪个 java.lang.Error 后代可以安全捕获?

对我来说绝对清楚,通常 Java 程序不应该 catch Throwable,因为它正在捕捉Error-s like OutOfMemoryError。100% 清楚。

但。

如果我有一个多线程应用程序,通常最好的做法是,我应该有一个UncaughtExceptionHandler,如果RuntimeExceptionError发生的话,它会做一些事情。我通常想做的就是简单地记录。记录RuntimeExceptions不会真正伤害,这很清楚。但问题出现在我身上:

我可以在 UncaughtExceptionHandler 中捕获并安全地记录哪些错误,如果我记录它,它不会处理我的整个应用程序?存在哪些错误,这并不意味着应用程序必须立即停止?

例如,如果我得到一个OutOfMemoryError,我只会要求一个printStackTrace标准输出,因为记录它的内存需要可能会杀死其他线程。但是StackOverflowError在我看来,被记录是完全安全的,因为它简单地意味着当前线程的堆栈区域已满。记录它是安全的。你会记录哪些其他Error后代?

0 投票
0 回答
195 浏览

java - Java,在一个类中处理潜在的大量异常 - 处理程序类?

我正在处理一个 Java 项目,并且遇到了一个有趣的设计问题。这不完全是一个问题,但明显的解决方案有点难看。

我有一个实现 Callable 的类,尽管使用当前的实现它可以很容易地成为一个 Runnable,因为我对结果不感兴趣,至少就调用线程而言。调用线程会将其中的一些放入线程池中。这些 Callable 中的每一个都将有一批从外部服务获得的数据。Callables 将执行许多操作,其中许多涉及对外部服务的进一步调用。结果,有很多地方可以抛出各种异常。

我发现的问题是,根据异常发生的位置,我可能需要采取不同的措施。如果发生在 A 点,则删除外部服务上的数据。如果它发生在 B 点,请将数据移动到服务器上的其他位置。如果它发生在 C 点,只需记录它并且什么也不做,等等。可以在多个点抛出任意数量的异常类型,尽管我认为我不需要对类型本身进行太多过滤,但更多那件事发生了。

Callable 本身并不是非常庞大,因此没有太多代码需要处理。但是,我很犹豫是否用大量的 try/catch 块来处理每个可能需要不同处理的点/异常。我意识到这可能真的是唯一可行的解​​决方案。如果没有捕获现有的异常并重新抛出我自己的异常,我真的无法控制大多数将被抛出的异常(可能是少数),这似乎有点多余。我想知道是否有一个好的模式或方法来处理这种事情。

我考虑过一个异常处理类,但我仍然需要以某种方式捕获每个异常并将其传递给处理程序,因为抛出异常的点很重要。我可以将 Callable 分解为更多的原子类,每个类都有自己的小块和处理,但这将是用一个杂物换另一个杂物。完全捕获 call() 方法中的所有内容或通过在调用线程中从 Future 获取异常确实不是一种选择,因为这将丢失发生位置的数据,除非我想解析堆栈跟踪,这不是完全可行。

任何人都可以解释一下吗?也许我只是对 try/catch 块争论不休,应该继续它,但我觉得必须有更好的方法......

嗯,我确实想到方法上的注释在这里可能会有所帮助。我可以分解所有方法,直到每个方法中只有一个可能引发异常的代码。使用自定义注释对其中的每一个进行注释,该注释指示该方法引发异常时要执行的操作。我不确定是否有可能(需要以某种方式在此处捕获异常,因为它可能发生在遍历每条数据的循环中,并且只有一个可能有问题,或者至少以某种方式标记该块以进行处理更进一步),但也许这可以减轻对大量 try/catch 块的需求,而是使用单个注释和处理程序类来处理异常来处理行为。我不相信有可能通过注释以这种方式指示行为,但我

0 投票
4 回答
5880 浏览

java - 为什么我不能使用 try / catch 子句处理异常 e?

当我编译以下代码时,一切正常,输出如预期:

节目结果:

但是,当我运行完全相同的代码但将异常类型从

我无法使用 try / catch 语句处理的父类型 Exception() 有什么特别之处?为什么 IllegalArgumentException() 允许我用 try / catch 语句处理它就好了。这些是一个晚上因害怕失败而保持清醒的想法,不,只是参加 SCJP 考试。

0 投票
1 回答
55 浏览

java - 打印堆栈跟踪,包括已完成的方法

所以,我有这个类,我想打印调用了哪些方法。当我运行它时,它只打印 trace 和 main,但不打印 method1 和 method2。如何更改它以便打印从 main 调用的方法 method1 和 method2?

0 投票
3 回答
351 浏览

java - 使用 Throwable 类

我知道每个 java 类都应该扩展 Throwable 类,以便可以处理异常。这是通过以下方式完成的:

或者

0 投票
1 回答
502 浏览

selenium - Selenium - Throwable 不会捕获异常

我正在尝试在下面给出的代码中使用可抛出类,并且由于某种原因它在特定情况下没有捕获异常。我的测试用例是在安全搜索模式开启后验证谷歌搜索页面上的特定文本。所以基本上我将文本“SafeSearch on”(如果安全搜索打开,我们通常会在谷歌页面上的设置按钮旁边看到)与该位置的 Xpath 匹配。我正在使用断言。当系统上存在“SafeSearch on”文本以及实际和预期字符串值不匹配时,我的测试用例执行良好。但是,当文本未列出时,执行后 Catch 块不会捕获异常。我的代码在尝试使用 xpath 查找文本时卡住了。一旦我手动关闭浏览器,它就会收到消息“文本不匹配 - 空”。我期待浏览器关闭并在输出中我应该捕获 Null 异常。在这种情况下有人可以帮助我吗?这是我的代码片段