问题标签 [try-catch]
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 没有被我的 catch 块捕获?
我有一个线程,我在其中捕获一个大的、无所不包的 catch 块中的所有错误。我这样做是为了在我的应用程序中报告任何错误,而不仅仅是预期的错误。我的 Runnable 看起来像这样:
我希望 NPE 被 Throwable catch 块捕获。相反,[2] 处的输出不打印,[3] 也不打印。打印 [1] 处的输出。
我在控制台上得到的是:
这到底是怎么回事?
对于法庭记录,我使用的是 J2ME,它在 Sun 的 WTK v2.5.2 模拟器中运行。
我很想把它归结为 JVM 实现的狡猾,但我不禁觉得我只是错过了一些东西。
为避免疑问而澄清(因为示例代码显然是从我的生产代码中改变的)
- run 方法中的 try/catch/finally 块之外没有任何内容。
- 每个块的开头都有一个 System.out.println - 这些控制台语句后面的内容应该无关紧要。
c# - 我应该在 C# 中使用 try{} 还是 using()?
我是 C# 的新手,一直是帕斯卡爱好者,直到我在 Depth 中找到 C#。在 Delphi 中,有一个 try{} 语句也在 C# 中实现。
但是,我看到你们中的一些人提到“Using(){} 比 try{} 更好”。
这是一个例子:
我的问题:
如果异常发生在“using”语句中会发生什么?
我什么时候应该使用“使用”而不是“尝试”,什么时候应该使用“尝试”而不是“使用”?
“使用”声明的目的是什么?
提前致谢!
c# - Try/Catch 和线程
我知道为什么,但我想问一下是否有人很好地理解了为什么线程内引发的异常永远不会被启动它的代码捕获。这是一些非常简单的代码来演示我的意思:
我天真地认为通过 try/catch 我会很安全,但我发现事实并非如此(它正在使我的一项服务崩溃)。
sql-server - 如何处理 SQL Server T-SQL try-catch 块中丢失的客户端连接?
TSQL BEGIN TRY 和 BEGIN CATCH 块模式不会捕获由于客户端连接丢失而导致的错误。如何捕获和处理丢失的客户端连接?
我正在设置一个标志,指示在处理单个事务的循环时进行处理,并且 catch 块会在错误时重新设置该标志,但是如果客户端连接丢失,我的 catch 块不会执行......
伪代码:
winforms - 在 BLL 中处理异常并返回给客户端(winforms 或 webforms)?
我正在寻找进行异常处理的最佳方法,例如..当业务逻辑层发生错误时,使用 catch 停止 METHOD 并将 EVENT 返回到表示层的最佳方法是什么?
这个事件应该包含什么?
或者我应该总是冒泡异常并在表示层中处理它们?
关于处理异常的最佳方式以及如何在客户端处理它们,任何人都有一些很好的链接和需要阅读的内容......
例如,如果我在 BLL 中得到一个 NullException,那么我可以捕捉到这个......但是最好的方法是返回到 presentaiton 层并通知它这个问题......
事件?还是演示文稿中的另一个尝试/捕获?
delphi - 在 delphi 7 中,是 `try ... except raise; 结束;`有意义吗?
在我维护的一些 Delphi 7 代码中,我注意到以下很多实例:
在我看来,这些 try 块可以被删除,因为它们什么都不做。但是,我对可能的微妙副作用持谨慎态度。
谁能想到这些块实际上可以做任何没有它们就不会发生的事情?
c# - try 语句中的问题
这是我用来设置 TCP 服务器的代码
如果你在同一个目的地调用 Bind,你会得到一个异常,因为端口已经在使用中,所以当我调用该函数两次时,我会得到那个异常。
问题 - 在 Catch{} 语句之后,即使我捕获了异常,代码仍继续遵循 finally{},为什么会发生这种情况?我希望它在消息框之后退出函数。我尝试使用“return”,但它仍然继续跟随 finally{} 块。
python - 仅捕获 Python 中的一些运行时错误
我正在导入一个在某些情况下会引发以下错误的模块: RuntimeError: pyparted requires root access
我知道我可以在导入之前检查 root 访问权限,但我想知道如何通过 try/except 语句捕获这种特殊类型的错误以供将来参考。有什么方法可以区分这个 RuntimeError 和其他可能引发的错误?
c++ - throw-catch 导致联动错误
我收到以下类型的链接错误:
Festival.obj:错误LNK2019:函数__catch$中引用的未解析外部符号“public:void __thiscall Tree::add(class Price &)”(?add@?$Tree@VPrice@@@@QAEXAAVPrice@@@Z)? AddBand@Festival@@QAE?AW4StatusType@@HHH@Z$0
我曾经认为它与 try-catch 机制有关,但后来被告知并非如此。这是问题的更新版本。
我正在使用 Visual Studio 2008,但我在 g++ 中有类似的问题。
相关代码:
在 Festival.cpp
在 Tree.h 中:
有趣的是,当类型 T 是像 int 这样的原始类型时,当我尝试使用 Tree 函数时,我没有出现链接错误。
java - 学习试接
我是Java初学者,请多多包涵
如何用这个程序实现异常处理?我不太确定如何使用 catch 块,因为我们还没有被告知整个异常的事情。这只是我们被要求做的一个练习。我想用 try-catch 块替换 if else 语句......这可能吗?