throw相关内容

异步方法中奇怪的调试器行为

当我越过代码中的断点时,我遇到了调试器的奇怪行为: 公共异步任务 DoSomeWork(){等待 Task.Run(() => { Thread.Sleep(1000); });变种测试=假;如果(测试){throw new Exception("Im in IF body!");}} 调试器进入 if 正文.值得注意的是,异常并没有真正被抛出,而是看起来确实如此.因此,如果您在 throw ..
发布时间:2022-01-19 15:01:15 C#/.NET

在 C++ 中通过指针捕获异常

我发现捕获异常有三种方式,有什么区别? 1) 按价值捕获; 2) 通过引用捕获; 3) 指针捕获; 我只知道按值捕获会调用对象的两个副本,按引用捕获会调用一个.那么如何通过指针捕获呢?何时使用指针捕获?除了抛出一个对象,我可以像这样抛出一个指向对象的指针吗? A 类 {}无效 f() {A *p = 新 A();扔 p;} 解决方案 推荐的方式是按值抛出,按引用捕获. ..
发布时间:2022-01-08 11:41:24 C/C++开发

“rxjs"observable.throw 不是函数 - Angular4

我一直在学习 Angular 4,一切都很顺利,直到我尝试在服务中实现捕获处理.我正在尝试使用“rxjs"捕获并抛出,但我的控制台中有一个未定义的函数错误. import { Injectable } from '@angular/core';从“@angular/http"导入{ Http};从 'rxjs/observable' 导入 { Observable };导入 'rxjs/add/ ..
发布时间:2022-01-01 22:12:40 其他开发

在 Swift 中转发错误

是否有更好的解决方案将 Swift 错误从一个函数转发到另一个函数? 目前,我是这样做的: 枚举错误:ErrorType{案例错误1案例错误2}func func1() 抛出{做{试试 func2()}捕获错误.Error1{抛出 Error.Error1}捕获错误.Error2{抛出 Error.Error2}}func func2() 抛出{//证明某事抛出 Error.Error1} ..
发布时间:2021-12-26 13:06:59 移动开发

找不到升压符号

我正在尝试编译/移植旧版本的 OpenOffice.它使用 Boost v1.34.1,它是源代码树的一部分.错误信息如下: 未定义符号:“boost::throw_exception(std::exception const&)",引用自:boost::detail::shared_count::shared_count(ScToken*) in detfunc.old:未找到符号 Boos ..
发布时间:2021-12-24 15:38:14 其他开发

C++03 throw() 说明符 C++11 noexcept 之间的区别

throw() 和 noexcept 除了分别在运行时和编译时检查之外,还有什么区别吗? 这篇维基百科 C++11 文章表明 C++03 抛出说明符已弃用. 为什么是这样,noexcept 是否足以在编译时涵盖所有这些内容? [注意:我检查了这个问题和这篇文章,但无法确定弃用的确切原因.] 解决方案 异常说明符已被弃用,因为异常说明符通常是一个糟糕的主意.添加 noexcep ..
发布时间:2021-12-17 17:07:01 C/C++开发

何时捕获异常与何时抛出异常?

我已经用 Java 编码有一段时间了.但有时,我不明白什么时候应该抛出异常,什么时候应该捕获异常.我正在做一个有很多方法的项目.层次结构是这样的- 方法A会调用方法B,方法B会调用一些方法C,方法C会调用方法D和方法E. 所以目前我正在做的是 - 我在所有方法中抛出异常并在方法 A 中捕获它,然后记录为错误. 但我不确定这是否是正确的做法?或者我应该开始在所有方法中捕获异常.所以这就是为 ..
发布时间:2021-12-17 17:03:36 Java开发

异常处理:throw、throws 和 Throwable

谁能解释一下throw、throws 和Throwable 之间的区别以及何时使用哪个? 解决方案 throws :在编写方法时使用,声明所讨论的方法抛出指定的(已检查的)异常. 与检查异常相反,运行时异常(NullPointerExceptions 等)可能会在没有方法声明的情况下被抛出 throws NullPointerException. throw:实际抛出异常的 ..
发布时间:2021-12-17 17:00:52 Java开发

C++中通过指针捕获异常

我发现有3种方法可以捕获异常,有什么区别? 1) 按值捕获; 2) 按引用捕获; 3) 通过指针捕捉; 我只知道按值捕获会调用对象的两个副本,按引用捕获会调用一个.那么如何通过指针捕获呢?什么时候用指针捕捉?除了抛出一个对象,我还能像这样抛出一个指向对象的指针吗? A 类 {}无效 f() {A *p = 新 A();扔 p;} 解决方案 推荐的方式是按值抛出,按引用 ..
发布时间:2021-12-17 16:48:58 C/C++开发

为什么我不能在 Promise.catch 处理程序中抛出?

为什么我不能在 catch 回调中抛出一个 Error 并让进程处理错误,就像它在任何其他范围内一样? 如果我不做 console.log(err) 什么都不会打印出来,我对发生的事情一无所知.过程刚刚结束... 示例: function do1() {返回新的承诺(功能(解决,拒绝){throw new Error('do1');设置超时(解决,1000)});}函数 do2() ..
发布时间:2021-12-14 20:02:20 前端开发

`throw new Error` 和 `throw someObject` 有什么区别?

我想编写一个通用的错误处理程序,它可以捕获在代码的任何实例中故意抛出的自定义错误. 当我像下面的代码那样throw new Error('sample')时 尝试{throw new Error({'hehe':'haha'});//抛出新错误('嘿嘿');}赶上(e){警报(e);控制台日志(e);} 日志在 Firefox 中显示为 Error: [object Object] 并且 ..

我应该在 C++ 中使用异常说明符吗?

在 C++ 中,您可以使用异常说明符指定函数可能会或可能不会引发异常.例如: void foo() throw();//保证不抛出异常空栏()抛出(整数);//可能会抛出一个 int 类型的异常void baz() throw(...);//可能会抛出某种未指定类型的异常 我对实际使用它们持怀疑态度,原因如下: 编译器并没有真正以任何严格的方式强制执行异常说明符,因此好处并不大.理想情况 ..
发布时间:2021-12-07 23:07:53 C/C++开发

说服 Swift 函数永远不会返回,因为抛出了异常

因为 Swift 没有抽象方法,所以我正在创建一个方法,它的默认实现会无条件地引发错误.这会强制任何子类覆盖抽象方法.我的代码如下所示: class SuperClass {func shouldBeOverridden() ->返回类型{让异常 = NSException(name: "未实施!",原因:“具体的子类没有提供自己的 shouldBeOverridden() 实现",用户信息:无 ..
发布时间:2021-11-26 16:29:37 移动开发

抛出的Java抽象类

如果我有一个具有以下功能的抽象类 - 抽象类A{void foo(String s) 抛出异常{throw new Exception("异常!");}} 然后是另一个扩展抽象类并实现自己版本的 foo 的类 - B 类扩展 A{void foo(String s){//做一些*不*抛出异常的事情}} 这会产生问题吗?具体在以下测试用例中 - 集合col = new Collection ..
发布时间:2021-11-26 16:18:08 Java开发

说服 Swift 函数永远不会返回,因为抛出了异常

因为 Swift 没有抽象方法,所以我正在创建一个方法,它的默认实现会无条件地引发错误.这会强制任何子类覆盖抽象方法.我的代码如下所示: class SuperClass {func shouldBeOverridden() ->返回类型{让异常 = NSException(name: "未实施!",原因:“具体的子类没有提供自己的 shouldBeOverridden() 实现",用户信息:无 ..
发布时间:2021-11-25 09:00:51 移动开发

抛出的Java抽象类

如果我有一个具有以下功能的抽象类 - 抽象类A{void foo(String s) 抛出异常{throw new Exception("异常!");}} 然后是另一个扩展抽象类并实现自己版本的 foo 的类 - B 类扩展 A{void foo(String s){//做一些*不*抛出异常的事情}} 这会产生问题吗?具体在以下测试用例中 - 集合col = new Collection ..
发布时间:2021-11-25 08:50:25 Java开发

不像代码分析所描述的那样抛出和保留堆栈跟踪

做代码分析给了我项目 CA2200: CA2200 重新抛出以保留堆栈详细信息 'func()' 重新抛出捕获的异常并将其明确指定为参数.改为使用不带参数的“throw",以保留最初引发异常的堆栈位置. 我已经实施了建议,但无论如何我似乎都得到了相同的堆栈跟踪. 这是我的测试代码和输出(空格旨在给出明显的行号): 第 30 行的预期错误 使用系统;使用 System.Co ..
发布时间:2021-11-24 10:06:27 C#/.NET