mil*_*lan 5 error-handling smalltalk try-catch-finally
你是如何在smalltalk中实现try-catch-finally成语的?我看到有on:do:和ensure:,但没有on:do:ensure:.我肯定错过了什么.
如果您确实需要它,可以向BlockClosure添加协议:
#on: anErrorOrSet do: errorBlock ensure: finallyBlock
[ self on: anErrorOrSet do: errorBlock ]
ensure: finallyBlock
Run Code Online (Sandbox Code Playgroud)
这将表现得像try:catch:finally:on java.
这就是smalltalk的神奇之处(好吧,它的一小部分),如果你的需求不匹配,你可以随时扩展它:)
| 归档时间: |
|
| 查看次数: |
1588 次 |
| 最近记录: |