我想确保评估aBlock仅引发SomeCustomError类型的错误。有没有比使用isKindOf:更好的方法?
aBlock
on: Core.Error
do: [:ex |
(ex isKindOf: SomeCustomError)
ifTrue: [ex pass]
ifFalse: [(SomeCustomError identification: #generalError messageText: ex messageText) raise]]
最佳答案
另一种方法-在类上定义方法是MyTerribleException 异常,它应该返回假。在您的 CustomException 类上,通过返回来定义重新定义方法true
aBlock
on: Core.Error
do: [:ex |
(ex isMyTerribleException)
ifTrue: [ex pass]
ifFalse: [(SomeCustomError identification: #generalError messageText: ex messageText) raise]]
这样会更好,因为您可以引入新的Exception类,必须对其进行捕获
关于error-handling - 解除信号异常的异常,除非它们是某种类型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20123243/