The Interpreter and Its Environment 之 Error Hand

在解释器的交互模式下,当一个错误发生的之后,解释器会打印出一条错误消息和相关的栈跟踪(stack  trace)信息,然后解释器又会返回到主提示下。当输入源来自于文件时,解释器会退出并且退出的状态值是一个非零(nonzero)的值,然后打印栈跟踪信息。针对异常的话,那么在一个 try  语句块中,异常信息将会被  except 从语句(clause)块处理(handle),而非在上下文中产生一个错误。一些错误会无条件(unconditionally)的产生一个致命的(fatal)错误,然后会引起一个非零状态值的退出,这种情况适用于内部的(internal)矛盾(inconsistencies)或者一些导致程序内存溢出的情况。所有的错误信息将会被写入到标准错误系统中,来源与命令执行的正常的输出将会写入到标准的输出中。


在主提示符或者后续的提示符下输入中断符号(通常是 ctrl-C或者DEL键)用来取消输入并且将解释器返回到主提示符处。当你键入一个中断的时候,其实解释器执行了一个可以引起“KeyboardInterrupt”的异常,然后这个异常被“try”语句块处理,退出解释到主提示符处但是却没有打印出错误消息。


你可能感兴趣的:(The Interpreter and Its Environment 之 Error Hand)