|
1
12
您关于在try/catch/finally范围之外设置变量的想法是正确的。 不能同时传播多个异常。 |
|
|
2
6
我不使用布尔标志,而是存储对异常对象的引用。 这样,您不仅可以检查是否发生异常(如果没有异常发生,对象将为null),而且如果发生异常,您还可以访问finally块中的异常对象本身。您只需记住在所有catch块中设置error对象(iff返回错误)。 我认为这是一个缺少的C语言特性,应该添加进来。 finally块应该支持对基异常类的引用,类似于catch块对它的支持方式,以便finally块可以使用对传播异常的引用。这应该是 编译器的一项简单任务 为我们省去了工作 手动 创建局部异常变量并 回忆 犯错误 在不重新抛出错误时设置异常变量(记住,我们只想让finally块看到未捕获的异常)。
如上所示。。。我希望在finally块中使用异常的原因是,如果finally块确实捕捉到了它自己的异常,那么 通过引发新错误覆盖主异常(错误) 或者只是 ,它可以将错误作为附加数据添加到原始错误中。 |
|
|
3
2
|
|
|
4
2
使用日志记录。。。
|
|
|
5
1
因为vb不支持这个特性,所以编写一个vb包装器来实现C语言中的代码(例如,给定一个MethodInvoker和一个Action(例外),在“Try”中执行MethodInvoker,在“Finally”中执行Action。
一个有趣的怪癖:对于Catch来说,当看到一个最终被Finally子句异常覆盖的异常是可能的。在某些情况下,这可能是件好事;在另一些情况下,这可能会令人困惑。无论如何,这都是值得注意的。 |
|
|
user29759326 · 如何返回递归函数中的最后一个值? 1 年前 |
|
|
malife89 · 将java中的字符串读取为正确的日期格式 1 年前 |
|
|
Tim · 在java中,有没有更快的方法将字节数组写入文件? 1 年前 |
|
|
rudraraj · java中未声明最终变量 1 年前 |
|
|
Bala Ji · 以下BFS的实施效率如何? 1 年前 |