python实现在函数中捕获某个异常,然后将异常的具体信息写入error.txt文件中;

发布时间 2023-08-09 00:37:59作者: 小甘要努力了

在程序开发中,如果对某些代码的执行不能确定(程序语法完全正确)

可以增加try来捕获异常

try这个关键字来捕获异常
try:尝试执行的代码
except:出现错误的处理

def func():

    try:

        print(a)

    except NameError as e1:

        with open('error.txt','w') as f:
            f.write(str(e1))

func()

 

完善写法:在函数中捕获某个异常,然后将异常的具体信息写入error1.txt文件中

try:

    # 可能出错的地方
    num=int(input('请输入一个整数:'))

    result1=8/num

    print(result1)

except ValueError as e1:

    print('输入的不是合法的整数')

    with open('error1.txt', 'w') as f:

        f.write(str(e1))

except ZeroDivisionError as e2:

    print('除数不为0')

    with open('error2.txt', 'w') as f:

        f.write(str(e2))

except Exception as e:

    print('未知错误 %s' % (r))

finally:

    # 无论是否有异常都会执行的代码
    print('程序结束.....')

代码截图:

 error.1.txt 

  

扩展学习:

Python之异常(try的用法)

try:
    # 不能确定正确执行的代码
    num = int(input('请输入一个数字:'))
except:
    print('请输入正确的整数')

print('*' * 10) 

 2. 提示用户输入一个整数,并使用8来除以用户输入的整数


try:

# 可能出错的地方 num = int(input('请输入一个整数:')) result = 8 /num print(result)
# 抛出异常 except ZeroDivisionError: print('0不能做除数') except ValueError: print('输入的值不是合法的整数') except Exception as r: print('未知错误 %s' %(r)) finally: # 无论是否有异常,都会执行的代码 print('--------------')

 3.异常的传递

 

def demo1():
    return int(input('请输入整数:'))

def demo2():
    return demo1()

# 一级一级的去找,最终会将异常传递到主函数里
try:
    print(demo2())
except Exception as r:
    print('未知错误 %s' %r)

代码截图: 

 相关链接:https://blog.csdn.net/weixin_44828950/article/details/91471459