当我有一些代码来分析这样的XML文件:错误处理解析XML文件
[doc := (XML.XMLParser new) parse: aFilename asURI] on: XML.SAXParseException
do: [:ex | MyCustomError raiseSignal: ex description].
我现在要处理的MyCustomError在堆栈中较高的,由XML文件移动到文件夹名为'失败',但我得到了共享违规错误,因为解析器没有机会关闭该文件。
如果我改变我的代码,这样它的工作原理,但我不知道是否有更好的办法:
[doc := (XML.XMLParser new) parse: aFilename asURI] on: XML.SAXParseException
do: [:ex | description := ex description].
description ifNotNil: [MyCustomError raiseSignal: description].