python 引发错误异常
python raising an error exception
我正在为 class 开发 othello 游戏,并试图在玩家进行有效移动时引发异常,但此异常导致我的程序崩溃,我不确定为什么。我收到错误:
Traceback (most recent call last):
File "C:\Users\chapp_000\Desktop\Othello\OthelloUI.py", line 46, in <module>
s.makeMove(move[0],move[-1])
File "C:\Users\chapp_000\Desktop\Othello\OthelloGL.py", line 73, in makeMove
raise InvalidMoveError()
OthelloGL.InvalidMoveError
这是我的例外情况 class:
class InvalidMoveError(Exception):
'''for handling bad moves'''
pass
这是引发异常的地方:
if self.checkCell(r,c) == 0:
if self.turn ==1:
self.board[r][c] = 2
self.turn =2
else:
self.board[r][c] = 1
self.turn =1
elif self.checkCell(r,c) !=0:
raise InvalidMoveError()
编辑:为了回答一些评论,我将我的异常与我们捆绑在一起,通过说通过并检查我的板上的单元格来阻止我的程序崩溃,并且 returns 0 如果没有一块是他们的和 1 或 2如果那个玩家有一块,他们的代码第 46 行是 s.makeMove(move[0],move[-1]),其中 s 是一个游戏无聊的对象,move 是玩家说出的 2 个数字的列表他们想移动到的 x 和 y 位置
如果你想捕获异常并用它做一些事情,你需要像这样调用你的方法:
try:
s.makeMove(move[0], move[-1])
except InvalidMoveError:
print('You made an invalid move')
# do something else instead
否则,未处理的异常将导致您的程序终止。这就是重点。
我正在为 class 开发 othello 游戏,并试图在玩家进行有效移动时引发异常,但此异常导致我的程序崩溃,我不确定为什么。我收到错误:
Traceback (most recent call last):
File "C:\Users\chapp_000\Desktop\Othello\OthelloUI.py", line 46, in <module>
s.makeMove(move[0],move[-1])
File "C:\Users\chapp_000\Desktop\Othello\OthelloGL.py", line 73, in makeMove
raise InvalidMoveError()
OthelloGL.InvalidMoveError
这是我的例外情况 class:
class InvalidMoveError(Exception):
'''for handling bad moves'''
pass
这是引发异常的地方:
if self.checkCell(r,c) == 0:
if self.turn ==1:
self.board[r][c] = 2
self.turn =2
else:
self.board[r][c] = 1
self.turn =1
elif self.checkCell(r,c) !=0:
raise InvalidMoveError()
编辑:为了回答一些评论,我将我的异常与我们捆绑在一起,通过说通过并检查我的板上的单元格来阻止我的程序崩溃,并且 returns 0 如果没有一块是他们的和 1 或 2如果那个玩家有一块,他们的代码第 46 行是 s.makeMove(move[0],move[-1]),其中 s 是一个游戏无聊的对象,move 是玩家说出的 2 个数字的列表他们想移动到的 x 和 y 位置
如果你想捕获异常并用它做一些事情,你需要像这样调用你的方法:
try:
s.makeMove(move[0], move[-1])
except InvalidMoveError:
print('You made an invalid move')
# do something else instead
否则,未处理的异常将导致您的程序终止。这就是重点。