繁体   English   中英

文件结束异常错误

[英]End of file exception error

我正在尝试修改一个函数来管理文件末尾错误。 整数函数应该处理EOFError并打印一条消息,然后将None返回给main()。 然后,必须相应修改main函数以处理None值。 我已经进行了更改,但是不确定是否在正确的轨道上。 有人可以给我一些指示吗? 谢谢

def integer( prompt ):
    value_str = input( prompt )
    try:
        value_int = int( value_str )
    except ValueError:
        print ( "** Invalid input, assuming 0 **" )
        value_int = 0
    except EOFError:
        print("End of file error occurred.")
        return None

    return value_int

def main():
    try:
        numer = integer( "Enter the numerator: " )
        denom = integer( "Enter the denominator: " )
        print( numer, "divided by", denom, end=" " )
        result = numer/denom
        print( "yields", result )

    except ZeroDivisionError:
        print( "** Invalid: attempted to divide by zero **" )
    except EOFError:
        print("unsupported operand type (s) for /: 'int' and 'NoneType'")

    print( "Program halted" )

main()

您的输入语句在try块之外。 将其移动到块内,您应该会很好

def integer( prompt ):
    try:
        value_str = input( prompt )
...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM