我希望这段代码只捕获一个EOFError,但是,它捕获所有异常...
struct ContentView: View {
@GestureState var magnifyBy = CGFloat(1.0)
@State var zoomIn = CGFloat(1.0)
var magnification: some Gesture {
MagnificationGesture()
.updating($magnifyBy) { currentState, gestureState, transaction in
gestureState = currentState
}.onEnded{value in
magnifyBy = value
}
}
var body: some View {
Circle()
.frame(width: 100 * magnifyBy,
height: 100 * magnifyBy,
alignment: .center)
}
}
但是没有,因为我遇到了NameError,它被捕获了:
try:
rpg.data.load("playerdata.dat")
except EOFError:
playerdata = rpg.data()
titleList = ["Start", t.gray30("[DISABLED] Continue"), "Help/Credits", "Exit\n\n" + " *" + " "* int(stream.width()/tfactor) + t.white("CONTROLS:") + t.gray30("\n\t[ENTER] and [Z] - Confirm Selection\n\tArrow Keys - Move Cursor")]
else:
playerdata = rpg.data.load("playerdata.dat")
titleList = ["Start", "Continue", "Help/Credits", "Exit\n\n" + " *" + " "* int(stream.width()/tfactor) + t.white("CONTROLS:") + t.gray30("\n\t[ENTER] and [Z] - Confirm Selection\n\tArrow Keys - Move Cursor")]
finally:
title_screen = menuClosure(game_title, titleList, delay_ms = 24, tfactor = 6)
即使我没有其他try / except块
答案 0 :(得分:1)
您的代码未捕获到NameError。最后,它们被扔到了您的“尝试除外”内部。似乎您尚未定义tfactor和titleList。