问题标签 [throw]
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 - 以编程方式抛出 NullPointerException 可以吗?
当有后置条件时,方法的返回值不能为空,怎么办?
我可以做
但断言可以关闭!
那么可以这样做吗
?
还是对这种情况使用用户定义的异常(如 NullReturnValueException )更好?
php - 我可以声明一个 php 函数抛出异常吗?
我可以在 php 中声明一个引发异常的函数吗?例如:
actionscript-3 - 在 Flash AS3 中,如何放置单个 try catch 代码,以捕获整个班级的任何错误?
在 Flash AS3 中,我想编写单个try catch块以捕获整个班级中的任何错误。
比如我在myClass.as中有很多函数。我不想在每个函数中编写 try catch 块以捕获此函数中的错误。
有什么方法可以做到这一点吗?
谢谢!
php - 较新版本的“... or die(...”
很久以前,我曾经在我的 PHP 代码中使用“or die”。特别像这样:
显然,这些天来这很可耻,但 X 或 Y 原则仍然对我有用。所以我虽然我会试试这个:
但这会导致解析错误!此类陈述的最佳做法是什么。它也必须看起来不错(显然!)...
我不喜欢
或者
有什么喜欢的吗?气馁?最佳实践?速度总是很好。
c# - 投掷 VS 重投:同样的结果?
参考网上的很多文档,特别是关于 SO,例如:在 C# 中重新抛出异常的正确方法是什么? "throw e;" 之间应该有区别 和“扔;”。
但是,来自:http ://bartdesmet.net/blogs/bart/archive/2006/03/12/3815.aspx ,
这段代码:
给出以下结果:
这与博客文章完全矛盾。
使用以下代码获得相同的结果:http: //crazorsharp.blogspot.com/2009/08/rethrowing-exception-without-resetting.html
原始问题:我做错了什么?
更新:与 .Net 3.5 / csc.exe 3.5.30729.4926 的结果相同
总结:你所有的答案都很棒,再次感谢。
所以原因是由于 64 位 JITter 而有效地内联。
我只能选择一个答案,这就是我选择LukeH答案的原因:
他猜到了内联问题,并且可能与我的 64 位架构有关,
他提供了 NoInlining 标志,这是避免这种行为的最简单方法。
然而这个问题现在引发了另一个问题:这种行为是否符合所有 .Net 规范:CLR 规范和 C# 编程语言规范?
更新:这种优化似乎符合:Throw VS rethrow:相同的结果?(感谢0xA3)
在此先感谢您的帮助。
c++ - 这被认为是内存泄漏吗?
一般规则,只有在空闲存储中分配的对象才会导致内存泄漏。但是在堆栈中创建的对象没有。
这是我的疑问,
如果 throw 没有被处理,它会调用 terminate(),然后调用 abort() 并使应用程序崩溃。此时,堆栈中的对象没有被销毁(没有调用析构函数)。
我的理解是“当应用程序终止时(通过中止或正常退出),它会释放为应用程序分配的所有内存”。因此这不能被视为内存泄漏。
我对么?
c++ - 这段 C++ 代码:“void Foo() throw;”是什么意思?
来自一次采访的问题。
请解释这段 C++ 代码是什么意思:
c++ - C++ 重新抛出一个被捕获的异常
我怎样才能重新抛出被捕获的异常
堵塞?
c# - 异常如何在 C# 中工作(在幕后)
与“异常如何在 C++ 中工作(在幕后) ”相同,但适用于C#。
我知道抛出异常时必须执行以下步骤。
- 为异常类型找到最近的处理程序;
- 将堆栈展开到处理程序级别;
- 调用处理程序;
- 查找并调用每个
finally
块。
.NET 如何处理这些操作?“当前”处理程序的映射如何工作?在 try/catch 块中发出了多少代码?在投掷块中?
c++ - 虚函数上的 C++ 异常抛出注释
我看到了以下代码段:
Q1> 什么意思
Q2> 为什么line1不能通过编译?
谢谢