finally相关内容

有没有一个习惯用于模仿Java的尝试/最终在C ++中的习惯?

多年来一直在做Java,所以没有跟踪C ++。已经将 终止 子句添加到语言定义中的C ++异常处理中? 是否有一个喜欢的成语模仿Java的try / finally? 我也感到困扰的是,C ++没有一个最终的超类型,可以抛出所有可能的异常 - 像Java的Throwable类。 > 我可以写: try { // do something } catch(...){ ..
发布时间:2017-09-29 11:41:01 C/C++开发

C#终于执行的时间

采取以下代码: using System; 命名空间OddThrow { 类程序 { static void Main(string [] args) { try { 抛出新的异常(“异常!”); } finally { System.Threading.Thread.Sleep(2500); Console.Error.WriteLine(“我要死了 ..
发布时间:2017-09-29 11:27:45 C#/.NET

确定由于抛出异常而在finally块中执行

是否可以确定代码是否正在执行在 finally 处理程序的上下文中,因为异常被抛出?我更喜欢使用 IDisposable 模式来实现入口/出口范围的功能,但是这种模式的一个问题是,您可能不一定需要范围的最终如果使用的正文中发生异常,则会发生行为。我会寻找这样的东西: public static class MyClass { public static void MyMethod() ..
发布时间:2017-09-29 09:02:57 C#/.NET

最后在C ++中

这是在标准C ++中实现类似终极的行为的好方法吗? (没有特殊指针) class异常:​​public Exception {public:virtual bool isException {return true; }}; class NoException:public Exception {public:bool isException(){return false ..
发布时间:2017-09-29 00:23:30 C/C++开发

蟒蛇试试吧

为什么 foo 中的异常被忽略,但 bar 中的异常是否被提升? def foo(): try: raise异常('foo') finally: return def bar(): try: raise异常('bar') finally: pass foo() bar() 解决方案 p>从 Python文档: 如果finall ..
发布时间:2017-09-28 23:56:25 Python

有没有这样的情况,在try-最终块最终不会被执行?

我正在面向对象编程中进行测试,我想知道是否有任何情况,考虑以下代码: try { do something } catch(someException e){ } finally { do something } finally 块不会执行? 解决方案 是的。如果您崩溃了Java VM,或者通过本地代码将其丢弃,导致该程序终止,或者无限循环/等待 ..
发布时间:2017-09-28 22:10:59 Java开发

在finally块中抛出异常

有没有一种优雅的方法来处理在最终块中抛出的异常? 例如: try { //使用资源。 } catch(Exception ex){ //资源问题 } finally { try { resource.close(); } catch(Exception ex){ //无法关闭资源? } } 如何避免 / catch 在 finall ..
发布时间:2017-09-28 21:08:04 Java开发

返回吃异常

我发现以下行为至少是奇怪的: def errors(): try: ErrorErrorError finally: return 10 打印错误() #prints:10 #应该加注: NameError:name'ErrorErrorError'未定义 当您使用在最终子句中返回。这是一个bug吗?这是否记录在任何地方? 但真正的问题(和我将标 ..
发布时间:2017-09-28 21:04:48 Python

C ++是否支持'finally'块? (这个我听到的“RAII”是什么?)

C ++是否支持“ 终于 '阻止? 什么是 RAII成语 ? C ++的RAII成语与 C#的'使用'语句 ? 解决方案 不,C ++不支持'finally'块。原因是C ++反而支持RAII:“资源获取正在初始化” - 一个恶劣的名字 † 是一个非常有用的概念。 想法是,对象的析构函数负责释放资源。当对象具有自动存储持续时间时,当创建对象的析构函数被创建时,它将被调用 ..
发布时间:2017-09-27 21:16:34 C/C++开发

Javascript错误处理与try .. catch ..最后

我怀疑我正在使用最终块,我不明白其目的的基本原理... function myFunc(){ try { if(true){ throw“一个错误”; } } catch(e){ alert(e); 返回false; } finally { return true; } } 此函数将运行抓住阻止,提醒“一个错误”,但是返回true。为什么不返回fal ..
发布时间:2017-08-28 00:19:26 前端开发

终止工人

我有一个函数,它启动了多个工作线程。每个工作线程被一个对象封装,并且该对象的析构函数会尝试 join 线程,即调用 if(thrd_.joinable )thrd_.join(); 。但是,事先不知道每个工人将要做多少工作。管理功能使用互斥量和条件变量将工作单元分配给线程。如果没有更多的工作要做,在保持互斥锁期间设置某个标志,然后通知在条件变量上阻塞的所有线程,以便他们醒来,注意到改变的标志,并关 ..
发布时间:2016-11-01 21:00:34 C/C++开发

有没有喜欢的成语模仿Java的try / finally在C ++?

做了多年的Java,所以没有跟踪C ++。在语言定义中是否已将 最后子句添加到C ++异常处理中? Java的try / finally? 我还打扰C ++没有一个超级类型的所有可能抛出的异常,像Java的Throwable类。 我可以写: try { // do something } catch(...){ //唉,不能检查异常 //只能做清除代码,可能是re ..
发布时间:2016-10-22 19:25:33 C/C++开发

使用C ++ lambda正确实现finally块

我想在我的C ++程序中实现最后块,并且语言肯定有工具,如果不是本机设施。我想知道最好的方法是什么? 解决方案 这个简单的实现似乎是100%安全。 > 模板 class sentry { t o; public: sentry(t in_o):o(std :: move(in_o)){} sentry(sentry& sentry(sentry ..
发布时间:2016-10-22 17:23:24 C/C++开发

C ++,__try和try / catch / finally

我想知道一点关于C + + try / catch / finally块。我看到这些命令有两个下划线,如__try。但MVSC 2010项目也没有下划线运行。 解决方案 在Windows上,操作系统级别支持异常。调用结构化异常处理(SEH),它们大致相当于Unix信号。为Windows生成代码的编译器通常会利用这一点,他们使用SEH基础结构来实现C ++异常。 为了符合C ++标准, ..
发布时间:2016-10-11 21:35:44 C/C++开发