问题标签 [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 回答
142 浏览

class - 如何在抛出异常的方法中捕获异常(JAVA)?

我有一个类,它的方法抛出一些异常并在其内部捕获它们,但是当我在我的 Main 类中调用它时,它们似乎没有被捕获。

关于我的问题的一个例子:

当我尝试编译最后一个时,我收到此错误:

Main.java:3:错误:未报告的异常 InvalidNumberException;必须被捕获或声明被抛出 Test.method(5);

有没有办法在不捕获 Main 类中的异常的情况下修复它?

0 投票
1 回答
156 浏览

java - 受保护的 Throwable 构造函数的用途

从 Java 7 开始,java.lang.Throwable该类有一个新的protected构造函数:

它似乎对是否应计算堆栈跟踪和是否允许抑制提供了细粒度的控制。但是在什么情况下这可以被认为是有用的呢?在没有堆栈跟踪计算的情况下抛出这样的异常是否有任何性能优势?

0 投票
2 回答
48 浏览

java - 使用 finally 没有捕获

我有一个要执行的测试。无论它通过还是抛出错误,我都想关闭它打开的案例。我在类 String theCase = null; 的顶部有 然后在 executeText() 中,一旦案例打开,我就设置它。

所以我这样做了:

我想知道。我需要接球(Throwable t)吗?我仍然希望抛出错误,但首先我希望它关闭案例。如果我不抓住它并扔它,最后会不会扔它?还是不会被捕获并抛出异常而不执行finally?最后我有点不清楚。

0 投票
1 回答
3458 浏览

lambda - 将表达式转换为 lambda

任何人都可以帮助我将这段代码转换为 lambda 表达式,我对此感到震惊

0 投票
2 回答
597 浏览

java - JUnit TestWatcher:失败,是否可以删除抛出的异常(操作 Throwable/stacktrace)?

在 JUnit 中,使用 TestWatcher 并覆盖failed()函数,是否可以删除抛出的异常并做出自己的断言?

用例是:在 Android 上进行功能测试,当测试使应用程序崩溃时,我想用AssertionError(“应用程序崩溃”)替换NoSuchElementException 。

我可以毫无问题地进行自定义断言(当我检测到finished()方法崩溃时),但是如何删除抛出的异常?

因为在我的报告中,它为一个测试创建了异常和断言,所以失败的次数比失败的测试多,这是合乎逻辑的,但很烦人。

我想知道是否有一种方法可以自定义 Throwable 对象以删除特定的 NoSuchElementException,从而操纵堆栈跟踪。

我没能做到。(而且我一定不想在每次测试中都使用 try/catch 来执行它......)。

0 投票
1 回答
3314 浏览

java - Java 中的 Throwable 和 Exception

假设我有一个名为 BugException 的类,它从RuntimeException 并且 BugException 有一个接受 Throwable 的复制构造函数。

此代码编译和类型检查:

为什么会这样:

不编译并给出错误消息:未处理的异常。java.lang.Throwable。?

为什么需要这种不必要的包装来满足类型检查器?

0 投票
2 回答
52 浏览

java - 动态发生异常后运行一些逻辑

我认为所有 Error 和 Exception 类型都从 Exception 类扩展,所以当应用程序停止工作时我怎么能看到异常,因为我想在抛出异常时运行一些逻辑我不只是询问 try{} catch {} finally {}

如果我想让插件监视应用程序上发生的任何异常以运行我的逻辑

例如,如果您有名为X的应用程序并且您有名为Y的库,当X抛出异常而不编辑X代码的逻辑时,库Y如何监视和运行逻辑

0 投票
1 回答
1046 浏览

android - 如何从 throwable 中捕获异常的原因?

我有以下代码来使用谷歌分析跟踪未捕获的异常:

问题是我只得到以下内容:

我想要其余的堆栈跟踪,它给出了异常的行原因。我没有得到堆栈跟踪的以下部分:

这个也怎么弄?

0 投票
1 回答
266 浏览

java - Java - 线程在没有任何指示的情况下停止

我有一个奇怪的问题,我正在尝试使用以下代码制作一个使用线程来实现刻度更新系统的程序:

这工作正常,除了在恰好 161 个滴答之后它只是停止运行,它不会抛出任何东西,没有异常,没有错误,什么都没有。但是,只要我执行以下操作:

现在突然它运行没有问题?

有谁知道这可能是由于什么?提前致谢!

0 投票
2 回答
7457 浏览

java - java.lang.Throwable:setStateLocked

每次从其他 Activity 意图到 LoginActivity,它都会使应用程序崩溃。

Logcat 的错误:

AccessibilityManager: setStateLocked: wasEnabled = false, mIsEnabled = false, wasTouchExplorationEnabled = false, mIsTouchExplorationEnabled = false, wasHighTextContrastEnabled = false, mIsHighTextContrastEnabled = false java.lang.Throwable: setStateLocked at com.example.feoit.mapmanagement.LoginActivity.onCreate(LoginActivity.java :63)

该课程的第 63 行是

完整的 logcat 错误:

AccessibilityManager: setStateLocked: wasEnabled = false, mIsEnabled = false, wasTouchExplorationEnabled = false, mIsTouchExplorationEnabled = false, wasHighTextContrastEnabled = false, mIsHighTextContrastEnabled = false java.lang.Throwable: setStateLocked at android.view.accessibility.AccessibilityManager.setStateLocked(AccessibilityManager.java:553 ) 在 android.view.accessibility 的 android.view.accessibility.AccessibilityManager.tryConnectToServiceLocked(AccessibilityManager.java:636)。AccessibilityManager.(AccessibilityManager.java:226) 在 android.view.accessibility.AccessibilityManager.getInstance(AccessibilityManager.java:206) 在 android.view.View.setFlags(View.java:9920) 在 android.view.ViewGroup.initViewGroup( ViewGroup.java:536) 在 android.view.ViewGroup.(ViewGroup.java:525) 在 android.view.ViewGroup.(ViewGroup.java:520) 在 android.view.ViewGroup.(ViewGroup.java:516) 在 android.view.ViewGroup.(ViewGroup.java:512) 在 android.widget.FrameLayout.(FrameLayout.java:119) 在 com.android.internal .policy.impl.PhoneWindow$DecorView.(PhoneWindow.java:2330) 在 com.android.internal.policy.impl.PhoneWindow.generateDecor(PhoneWindow.java:3471) 在 com.android.internal.policy.impl.PhoneWindow.installDecor(PhoneWindow.java:3857) 在 com.android.internal.policy.impl.PhoneWindow.getDecorView(PhoneWindow.java:2046) 在 android.support.v7 .app.AppCompatDelegateImplV9.createSubDecor(AppCompatDelegateImplV9.java:367) 在 android.support.v7.app.AppCompatDelegateImplV9.ensureSubDecor(AppCompatDelegateImplV9.java:316) 在 android.support.v7。app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:281) 在 android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140) 在 com.example.feoit.mapmanagement.LoginActivity.onCreate(LoginActivity.java:63)在 android.app.Activity.performCreate(Activity.java:6092) 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1112) 在 android。app.ActivityThread.performLaunchActivity(ActivityThread.java:2514) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2641) 在 android.app.ActivityThread.access$800(ActivityThread.java:182) 在 android.app.ActivityThread$ H.handleMessage(ActivityThread.java:1515) 在 android.os.Handler.dispatchMessage(Handler.java:111) 在 android.os.Looper.loop(Looper.java:194) 在 android.app.ActivityThread.main(ActivityThread.java:5717) 在 java.lang.reflect.Method.invoke(Native Method) 在 java.lang.reflect.Method.invoke(Method.java:372) 在 com .android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:959) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:754)第754章)第754章)5717) 在 java.lang.reflect.Method.invoke(Native Method) 在 java.lang.reflect.Method.invoke(Method.java:372) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit. java:959) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:754)5717) 在 java.lang.reflect.Method.invoke(Native Method) 在 java.lang.reflect.Method.invoke(Method.java:372) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit. java:959) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:754)在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:754) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:959) 调用(Method.java:372)在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:754) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:959) 调用(Method.java:372)