我有这个代码并且我正在使用 python 3:
import cmd
class myShell(cmd.Cmd):
def do_bad(self, arg):
raise Exception('something bad happened')
if __name__ == '__main__':
sh = myShell()
sh.cmdloop()
Run Code Online (Sandbox Code Playgroud)
我想在抛出异常后返回到 shell 提示符。怎么做?
从代码来看,这些函数是从 Cmd.onecmd 调用的(甚至在循环中)。
您可以简单地覆盖它:
def onecmd(self, line):
try:
return super().onecmd(line)
except:
# display error message
return False # don't stop
Run Code Online (Sandbox Code Playgroud)
优点是您不会停止命令循环。
| 归档时间: |
|
| 查看次数: |
1878 次 |
| 最近记录: |