gpt4 book ai didi

error-handling - 解除信号异常的异常,除非它们是某种类型

转载 作者:行者123 更新时间:2023-12-03 07:50:31 25 4
gpt4 key购买 nike

我想确保评估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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com