使用Rise/Trow-in-Sorbet的方法的语法
有没有一种方法可以指定一个方法可能会引发哪些异常,从而知道哪些异常可能需要救援 在Java()中,它看起来是这样的:使用Rise/Trow-in-Sorbet的方法的语法,sorbet,Sorbet,有没有一种方法可以指定一个方法可能会引发哪些异常,从而知道哪些异常可能需要救援 在Java()中,它看起来是这样的: void example(int: x) throws Exception { if x > 42 throw new Exception; } 也许是这样的 不要混淆:通常的异常是使用raise。。。Ruby中的rescue begin raise StandardError rescue StandardError end 但是您也可以在Ruby中
void example(int: x) throws Exception {
if x > 42 throw new Exception;
}
也许是这样的
不要混淆:通常的异常是使用raise。。。Ruby中的rescue
begin
raise StandardError
rescue StandardError
end
但是您也可以在Ruby中抛出对象和捕获对象
catch(:something) do
throw :something
end
我不经常用这个。实际上是想完全避免。但是冰糕可能也有这样的语法!?例如:
Sorbet不支持选中的异常。
原因是,现在使用Java的人们普遍认为,即使是Java的其他特性,他们也不能很好地使用。例如,在下面的代码段中
foo do
# code that calls into something that can throw
end
在Java中,您被正式地强制捕获#
中的异常,并将其作为未经检查的异常重新显示,因为通常块可能会逃逸到堆中。
总的来说,如果您研究Java之后的语言:Scala、Kotlin,它们都不支持检查异常。Sorbet不支持检查异常。
原因是,现在使用Java的人们普遍认为,即使是Java的其他特性,他们也不能很好地使用。例如,在下面的代码段中
foo do
# code that calls into something that can throw
end
在Java中,您被正式地强制捕获#
中的异常,并将其作为未经检查的异常重新显示,因为通常块可能会逃逸到堆中。
总的来说,如果您研究Java之后的语言:Scala、Kotlin,它们都不支持检查异常
foo do
# code that calls into something that can throw
end