Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 我的程序如何从单独的方法中识别异常_Python_Python 3.x_Exception - Fatal编程技术网

Python 我的程序如何从单独的方法中识别异常

Python 我的程序如何从单独的方法中识别异常,python,python-3.x,exception,Python,Python 3.x,Exception,我正在写一个python程序。 它调用一个私有方法,该方法已尝试…除了。。。并返回一个值。 例如: 当我输入一个无效的输入“f”时,输出是这样的 我想检测main()和addOne(x)中的异常 因此,理想的输出可能如下所示: Please enter a number: f invalid literal for int() with base 10: 'f' Error when add one! 谁能告诉我怎么做?谢谢 处理异常会阻止它进一步传播。要允许在外部范围内处理异常,请在异常处理

我正在写一个python程序。 它调用一个私有方法,该方法已尝试…除了。。。并返回一个值。 例如:

当我输入一个无效的输入“f”时,输出是这样的

我想检测main()和addOne(x)中的异常 因此,理想的输出可能如下所示:

Please enter a number: f
invalid literal for int() with base 10: 'f'
Error when add one!

谁能告诉我怎么做?谢谢

处理异常会阻止它进一步传播。要允许在外部范围内处理异常,请在异常处理程序内使用裸
raise

def addOne(x):
    try:
        a = int(x) + 1
        return a
    except Exception as e:
        print(e)
        raise  # re-raise the current exception

处理异常会阻止它进一步传播。要允许在外部范围内处理异常,请在异常处理程序内使用裸
raise

def addOne(x):
    try:
        a = int(x) + 1
        return a
    except Exception as e:
        print(e)
        raise  # re-raise the current exception

addOne
中的异常处理程序当前捕获并丢弃异常。在
addOne
except
子句中使用裸
raise
来传播它。在except块中使用“raise”(不带参数)来重新释放捕获的异常。您在
addOne
中的异常处理程序当前捕获并丢弃该异常。在
addOne
except
子句中使用裸
raise
来传播它。在except块中使用“raise”(不带参数)来重新释放捕获的异常。
def addOne(x):
    try:
        a = int(x) + 1
        return a
    except Exception as e:
        print(e)
        raise  # re-raise the current exception