try again Please try again(python)

简介: 笔记

前言


       什么是异常?

       异常即是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行。


       一般情况下,在Python无法正常处理程序时就会发生一个异常。


       异常是Python对象,表示一个错误。


       当Python发生异常时我们需要捕获处理它,否则程序会终止执行。


一、python标准异常


10.png11.png12.png13.pngimage.png

二、应用实例


1、try/except():/except

15.png

 代码:

while True:
    try:
        x = int(input("请输入一个整数: "))
        break
    except (RuntimeError, TypeError, NameError,ValueError):#利用元组一次性判断多种异常
        print("您输入的不是整数,请再次尝试输入!")
    except:
        pass#不是上述异常时不处理继续执行
        #break#不是上述异常时不处理直接跳出

  效果:

16.png



        解析:


       可以利用元组一次性判断多种异常如:


       except (RuntimeError, TypeError, NameError,ValueError):


               print("您输入的不是整数,请再次尝试输入!")


       也可以用break和pass来跳过和跳出异常


       except:

               pass#不是上述异常时不处理继续执行

               #break#不是上述异常时不处理直接跳出


       最后一个except子句可以忽略异常的名称,它将被当作通配符使用。你可以使用这种方法打印一个错误信息,然后再次把异常抛出


2、try/except...else

       try/except 语句还有一个可选的 else 子句,如果使用这个子句,那么必须放在所有的 except 子句之后。


       else 子句将在 try 子句没有发生任何异常的时候执行。

17.png

 以下实例在 try 语句中判断文件是否可以打开,如果打开文件时正常的没有发生异常则执行 else 部分的语句,读取文件内容 。

for arg in sys.argv[1:]:
    try:
        f = open(arg, 'r')
    except IOError:
        print('cannot open', arg)
    else:
        print(arg, 'has', len(f.readlines()), 'lines')
        f.close()

使用 else 子句比把所有的语句都放在 try 子句里面要好,这样可以避免一些意想不到,而 except 又无法捕获的异常。

3、try-finally 语句

       try-finally 语句无论是否发生异常都将执行最后的代码。

18.png

try:
    runoob()
except AssertionError as error:
    print(error)
else:
    try:
        with open('file.log') as file:
            read_data = file.read()
    except FileNotFoundError as fnf_error:
        print(fnf_error)
finally:
    print('这句话,无论异常是否发生都会执行。')

效果图:

19.png

4、抛出异常

       raise [Exception [, args [, traceback]]]

       以下实例如果 x 大于 5 就触发异常:


       x = 10

       if x > 5:

           raise Exception('x 不能大于 5。x 的值为: {}'.format(x))

20.png

三、总结


       1、用try可以抛出我们易于理解的异常,帮助用户处理异常

       2、运用try来调试我们的程序,可特定跳过或跳出

       3、运用finally定义特定的语句的来抛出固定的语句。

相关文章
|
4月前
|
数据库连接 Python
Python中的异常处理除了Try语句,你还会啥?
Python中的异常处理除了Try语句,你还会啥?
70 1
|
4月前
|
Python
|
4月前
|
Python
Python 中的 try 和 except 块
【8月更文挑战第29天】
62 6
|
6月前
|
开发者 Python
在Python中,异常处理通过`try`、`except`、`else`和`finally`关键字进行
【6月更文挑战第26天】在Python中,异常处理通过`try`、`except`、`else`和`finally`关键字进行。基本结构包括尝试执行可能抛出异常的代码,然后指定`except`来捕获特定或任何类型的异常。`else`块在`try`无异常时执行,`finally`块确保无论是否发生异常都会执行,例如用于清理。可以使用`raise`重新抛出异常,而自定义异常则允许创建特定的错误类。这种机制增强了代码的健壮性。
79 7
|
6月前
|
定位技术 Python
Python的try、except异常处理模块使用方法
所以,我们就解决了由于可能具有的arcpy.ExecuteError异常而导致的程序中断问题;大家在实际使用时,按照自己程序中可能出现的报错类,对本文出现的arcpy.ExecuteError异常类加以修改即可。
|
7月前
|
Python
python的else块(可选)在try块成功执行且没有引发异常时执行
【5月更文挑战第12天】python的else块(可选)在try块成功执行且没有引发异常时执行
67 1
|
7月前
|
Python
|
7月前
|
存储 开发者 Python
Python从入门到精通:2.2.1异常处理与文件操作——学习try/except语句进行异常处理
Python从入门到精通:2.2.1异常处理与文件操作——学习try/except语句进行异常处理
143 3
|
7月前
|
Python
python中的异常处理(try,except,else, finally)
python中的异常处理(try,except,else, finally)
86 0
|
Python
Python--一言不合就try一下?
Python--一言不合就try一下?
59 0