问题标签 [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 投票
2 回答
1560 浏览

java - 可抛出构造函数

这4种类型Throwable constructors是:-

Throwable() :构造一个新的 throwable,其详细消息为 null。

Throwable(String message) :使用指定的详细消息构造一个新的 throwable。

Throwable(String message, Throwable cause) :构造一个带有指定详细消息和原因的新 throwable。

Throwable(Throwable Cause) : 构造一个新的 throwable 指定原因和 (cause==null ? null : cause.toString()) 的详细消息

在一段代码中,前两个构造函数类型工作正常,但是另外两个报编译时错误。

最后两个声明报错

没有找到适合 ArithmeticException 的构造函数

我正在使用 JDK 8

为什么最后两个声明都报告错误?另外我如何让它们工作?

0 投票
1 回答
207 浏览

java - Java Debugger 在不中断的情况下运行应用程序

我有无处不在的 HelloWorldApp.java 文件

我跑:

然后我运行:

我得到:

我输入:

提示的地方

然后我得到

我输入:

提示的地方

然后我得到

我没有在最后一个提示上输入任何内容,它只是退出而没有中断。我的问题是为什么它会输出那些 Throwable 行,为什么调试器没有在我给它的断点处停止?

0 投票
2 回答
77 浏览

java - 捕获 Throwable 和 StackOverflowError 时的不同行为

我有以下两组代码

第一组代码如下:

输出是:

第二组代码如下:

输出是:

在这两种情况下,我都传递了一个命令行参数,即“db”。在第一组代码中,我在 catch 块中捕获 Throwable,我可以在其中访问命令行参数,即args[0](我可以在控制台中看到 args[0] 输出)。

在第二组代码中,我捕获了无法访问 args [0] 的 StackOverflowError。它显示 NullPointerException。

我无法理解 Java 的行为。

为什么我可以在第一种情况下访问 args[0] 以及为什么在第二种情况下 args 为空。

有人可以解释为什么java会这样吗?

0 投票
4 回答
1646 浏览

java - 向现有 NullPointerException 添加消息

我在我的方法中捕获了不同类型的异常。

如果异常是 a NullPointerException,我想向现有异常添加一条消息。

有没有办法向现有的 NullPointerException 添加消息?我不能只创建一个新异常,因为我需要堆栈跟踪等。

我的想法是像这样创建一个新的异常:

但是,输出不是我需要的,因为那样,我的堆栈跟踪看起来像这样:

但我需要它来保持 NullPointerException 像这样:

同样重要的是,我无法访问创建初始 NullPointer 的部分。所以我不能在开始时添加消息。

编辑:我知道我应该避免 NPE。但是我必须影响抛出的NPE。所以我必须做出反应。

0 投票
1 回答
133 浏览

scala - 如何在不显式处理非异常 Throwable 的情况下处理未来的完成

我一直使用的在Akka内部处理Future完成的模式看起来像这样:

我知道我更喜欢map未来而不是使用onComplete,但是混合Future消息传递语义会导致你最终进入一个副作用操作的地方。

如果我不考虑这个Failure(e)案例,我会收到一条警告,说我的模式匹配将失败,但是必须匹配我知道我不应该捕捉的东西是很乏味的。有没有更好的方法来处理成功和适当的失败?

0 投票
3 回答
50851 浏览

java - 使用 Gradle 在运行时出现 NoClassDefFoundError

我使用 gradle 作为 JavaFX 插件。即使在distribution/构建和运行可执行文件之后,一切都可以完美运行,除了一个类:CloseableHttpClient

出于多种目的,我创建了如下对象:

在IDE中运行程序没问题,一切正常。但是,如果我构建并尝试运行 .exe 文件,我会得到以下Throwable-StackTrace:

我真的不明白这一点。怎么可能只有这个类没有找到,而我所有的其他类都找到了?

我的 build.gradle 文件:

如果您需要更多信息,请写评论。谢谢。

0 投票
1 回答
1439 浏览

java - AssertionError 和断言

我正在为 OCP 7 做准备,我在其中一本证书书上遇到了这篇文章。

为了阻止您尝试用断言替换异常,AssertionError 不提供对生成它的对象的访问。你得到的只是字符串消息。

我尝试了很多可能性来执行所说的内容,但我发现AssertionError与其他人没有区别。

你能向我解释一下这句话是什么意思吗?

0 投票
7 回答
2728 浏览

java - 在没有“线程中的异常...”的情况下引发异常

我想知道是否有一种简单的抛出异常的方法,但只能使用我选择的确切字符串。我找到了一种摆脱堆栈跟踪的方法,但现在我想删除每个异常的开头:

“线程“主”RuntimeException 中的异常......”

我正在寻找一种简单、优雅的方式来做到这一点(不是超级简单,但也不太复杂)。

谢谢!

0 投票
1 回答
6140 浏览

exception - 处理的异常和未处理的异常有什么区别

我想知道Java中已处理和未处理的异常之间的区别。哪一个我应该使用 try/catch 块,以及当我必须扩展 throwables 时。

另外,如果我扩展 throwables,我是否总是必须在单独的类中处理异常?

如果要在单独的类中处理异常,我可以创建自定义功能(例如调用另一个方法或中断循环)而不是仅使用自定义消息覆盖超级构造函数吗?

0 投票
2 回答
3362 浏览

java - 在处理抛出 Throwable 的方法时,我应该避免抛出 Throwable 吗?

我有一个带@Aspect注释的类正在调用ProceedingJoinPoint#proceed(). 这个方法throws Throwable和类看起来像这样:

在我必须调用另一个方法的情况下myMehtod抛出一个是否可以?我应该避免投掷并以某种方式将其转换为or吗?Throwablethrows ThrowableThrowableExceptionError

无论哪种情况,我也想知道为什么。谢谢你。