问题标签 [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.
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
为什么最后两个声明都报告错误?另外我如何让它们工作?
java - Java Debugger 在不中断的情况下运行应用程序
我有无处不在的 HelloWorldApp.java 文件
我跑:
然后我运行:
我得到:
我输入:
提示的地方
然后我得到
我输入:
提示的地方
然后我得到
我没有在最后一个提示上输入任何内容,它只是退出而没有中断。我的问题是为什么它会输出那些 Throwable 行,为什么调试器没有在我给它的断点处停止?
java - 捕获 Throwable 和 StackOverflowError 时的不同行为
我有以下两组代码
第一组代码如下:
输出是:
第二组代码如下:
输出是:
在这两种情况下,我都传递了一个命令行参数,即“db”。在第一组代码中,我在 catch 块中捕获 Throwable,我可以在其中访问命令行参数,即args[0]
(我可以在控制台中看到 args[0] 输出)。
在第二组代码中,我捕获了无法访问 args [0] 的 StackOverflowError。它显示 NullPointerException。
我无法理解 Java 的行为。
为什么我可以在第一种情况下访问 args[0] 以及为什么在第二种情况下 args 为空。
有人可以解释为什么java会这样吗?
java - 向现有 NullPointerException 添加消息
我在我的方法中捕获了不同类型的异常。
如果异常是 a NullPointerException
,我想向现有异常添加一条消息。
有没有办法向现有的 NullPointerException 添加消息?我不能只创建一个新异常,因为我需要堆栈跟踪等。
我的想法是像这样创建一个新的异常:
但是,输出不是我需要的,因为那样,我的堆栈跟踪看起来像这样:
但我需要它来保持 NullPointerException 像这样:
同样重要的是,我无法访问创建初始 NullPointer 的部分。所以我不能在开始时添加消息。
编辑:我知道我应该避免 NPE。但是我必须影响抛出的NPE。所以我必须做出反应。
scala - 如何在不显式处理非异常 Throwable 的情况下处理未来的完成
我一直使用的在Akka内部处理Future
完成的模式看起来像这样:
我知道我更喜欢map
未来而不是使用onComplete
,但是混合Future
和消息传递语义会导致你最终进入一个副作用操作的地方。
如果我不考虑这个Failure(e)
案例,我会收到一条警告,说我的模式匹配将失败,但是必须匹配我知道我不应该捕捉的东西是很乏味的。有没有更好的方法来处理成功和适当的失败?
java - 使用 Gradle 在运行时出现 NoClassDefFoundError
我使用 gradle 作为 JavaFX 插件。即使在distribution/构建和运行可执行文件之后,一切都可以完美运行,除了一个类:CloseableHttpClient
出于多种目的,我创建了如下对象:
在IDE中运行程序没问题,一切正常。但是,如果我构建并尝试运行 .exe 文件,我会得到以下Throwable
-StackTrace:
我真的不明白这一点。怎么可能只有这个类没有找到,而我所有的其他类都找到了?
我的 build.gradle 文件:
如果您需要更多信息,请写评论。谢谢。
java - AssertionError 和断言
我正在为 OCP 7 做准备,我在其中一本证书书上遇到了这篇文章。
为了阻止您尝试用断言替换异常,AssertionError 不提供对生成它的对象的访问。你得到的只是字符串消息。
我尝试了很多可能性来执行所说的内容,但我发现AssertionError
与其他人没有区别。
你能向我解释一下这句话是什么意思吗?
java - 在没有“线程中的异常...”的情况下引发异常
我想知道是否有一种简单的抛出异常的方法,但只能使用我选择的确切字符串。我找到了一种摆脱堆栈跟踪的方法,但现在我想删除每个异常的开头:
“线程“主”RuntimeException 中的异常......”
我正在寻找一种简单、优雅的方式来做到这一点(不是超级简单,但也不太复杂)。
谢谢!
exception - 处理的异常和未处理的异常有什么区别
我想知道Java中已处理和未处理的异常之间的区别。哪一个我应该使用 try/catch 块,以及当我必须扩展 throwables 时。
另外,如果我扩展 throwables,我是否总是必须在单独的类中处理异常?
如果要在单独的类中处理异常,我可以创建自定义功能(例如调用另一个方法或中断循环)而不是仅使用自定义消息覆盖超级构造函数吗?
java - 在处理抛出 Throwable 的方法时,我应该避免抛出 Throwable 吗?
我有一个带@Aspect
注释的类正在调用ProceedingJoinPoint#proceed()
. 这个方法throws Throwable
和类看起来像这样:
在我必须调用另一个方法的情况下myMehtod
抛出一个是否可以?我应该避免投掷并以某种方式将其转换为or吗?Throwable
throws Throwable
Throwable
Exception
Error
无论哪种情况,我也想知道为什么。谢谢你。