language-agnostic - 跳出 "try-catch"?

标签 language-agnostic try-catch

有没有一种语言有一个关键字可以跳出try-catch block ?

例如,Ruby 中有一个解决方法:

lambda {
    begin
        p 0
        break
        p 1
    rescue
        p 2
    end
}.call
p 3

(我相信)在 Javascript 中也是可能的。
但我想要一种没有匿名函数的方法(以避免缩进) - 就像如果 breakcontinue 是可能的。

我知道,C/C++/C# 语言允许 using goto .

是否存在采用另一种方法的语言?

最佳答案

您总是可以抛出一个已知的异常,您可以捕获该异常,但不执行任何操作。在 C# 中

try {
    if(true)
        throw new GetOutException();
}
catch(GetOutException e) {
}
catch(Exception e) {
    // Do something here    
}

关于language-agnostic - 跳出 "try-catch"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11064942/

相关文章:

java - 预期异常时避免空 catch block

unit-testing - 测试使用继承的类是否有任何最佳实践?

database - 来自不同数据集的百分位数组合 : how can this be accomplished?

language-agnostic - Switch (Case) 总是出错吗?

r - 遇到错误时,从列表中删除文件名

comparison - 充分使用 'if'语句或 'try/catch' block ?

c++ - 不同语言的浮点精度

language-agnostic - "program to an interface"是什么意思?

java - java try block 中定义的变量的范围是什么?为什么在 try block 之外无法访问它?

java - 序列化不适用于自定义链表