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定义特定的语句的来抛出固定的语句。

目录
打赏
0
0
0
0
6
分享
相关文章
[oeasy]python065python报错怎么办_try_试着来_except_发现异常
本文介绍了Python中处理异常的基本方法,重点讲解了`try`和`except`的用法。通过一个计算苹果重量的小程序示例,展示了如何捕获用户输入错误并进行处理。主要内容包括: 1. **回顾上次内容**:简要回顾了Shell环境、Python3游乐场和Vim编辑器的使用。 2. **编写程序**:编写了一个简单的程序来计算苹果的总重量,但发现由于输入类型问题导致结果错误。 3. **调试与修正**:通过调试发现输入函数返回的是字符串类型,需要将其转换为整数类型才能正确计算。
60 32
[oeasy]python066_如何捕获多个异常_try_否则_else_exception
本文介绍了Python中`try...except...else`结构的使用方法。主要内容包括: 1. **回顾上次内容**:简要复习了`try`和`except`的基本用法,强调了异常处理的重要性。 2. **详细解释**: - `try`块用于尝试执行代码,一旦发现错误会立即终止并跳转到`except`块。 - `except`块用于捕获特定类型的异常,并进行相应的处理。 - `else`块在没有异常时执行,是可选的。 3. **示例代码**:通过具体例子展示了如何捕获不同类型的异常(如`ValueError`和`ZeroDivisionError`),并解释了异常处理
58 24
[oeasy]python068_异常处理之后做些什么_try语句的完全体_最终_finally
介绍了 Python 中 `try` 语句的完全体,包括 `try`、`except`、`else` 和 `finally` 子句的使用。通过实例展示了如何捕获异常并输出详细的错误信息,如文件名和行号。特别强调了 `finally` 子句的作用,无论是否发生异常,`finally` 都会执行,常用于清理操作。最后总结了 `try` 语句的四个部分及其应用场景,并简要提及了 Python 社区的决策机制。 #try #except #else #finally
27 1
Python中的异常处理除了Try语句,你还会啥?
Python中的异常处理除了Try语句,你还会啥?
106 1
|
7月前
|
Python 中的 try 和 except 块
【8月更文挑战第29天】
112 6
在Python中,异常处理通过`try`、`except`、`else`和`finally`关键字进行
【6月更文挑战第26天】在Python中,异常处理通过`try`、`except`、`else`和`finally`关键字进行。基本结构包括尝试执行可能抛出异常的代码,然后指定`except`来捕获特定或任何类型的异常。`else`块在`try`无异常时执行,`finally`块确保无论是否发生异常都会执行,例如用于清理。可以使用`raise`重新抛出异常,而自定义异常则允许创建特定的错误类。这种机制增强了代码的健壮性。
146 7
Python的try、except异常处理模块使用方法
所以,我们就解决了由于可能具有的arcpy.ExecuteError异常而导致的程序中断问题;大家在实际使用时,按照自己程序中可能出现的报错类,对本文出现的arcpy.ExecuteError异常类加以修改即可。
|
10月前
|
python的else块(可选)在try块成功执行且没有引发异常时执行
【5月更文挑战第12天】python的else块(可选)在try块成功执行且没有引发异常时执行
87 1
|
10月前
|