python 异常处理 try except

什么是异常  

异常就是程序运行时发生错误的信号,程序随即发生终止行为 

 

常见的异常有哪些 

AttributeError 试图访问一个对象没有的树形,比如foo.x,但是foo没有属性x
IOError 输入/输出异常;基本上是无法打开文件
ImportError  无法引入模块或包;基本上是路径问题或名称错误
IndentationError  语法错误(的子类) ;代码没有正确对齐
IndexError  下 标索引超出序列边界,比如当x只有三个元素,却试图访问x[5]
KeyError  试图访问字典里不存在的键
KeyboardInterrupt  Ctrl+C被按下
NameError  使用一个还未被赋予对象的变量
SyntaxError Python代码非法,代码不能编译(个人认为这是语法错误,写错了)
TypeError 传入对象类型与要求的不符合
UnboundLocalError 试图访问一个还未被设置的局部变量,基本上是由于另有一个同名的全局变量,
导致你以为正在访问它
ValueError 传入一个调用者不期望的值,即使值的类型是正确的

异常的类型 

常见的有语法错误 (语法错误需要在 python 执行前改正)

 

逻辑错误 

 

常见的异常的处理 方式

# 语法结构一

try:

  被检测的代码块

except 异常类型:

try 中一旦检测到异常,就执行这个位置的逻辑

示列

1

2

3

4

5

6

7

8

9

10

try:

    f1 = open('test.txt')

    = (line.strip() for line in f1)

    print(next(g))

    print(next(g))

    print(next(g))

    print(next(g))

    print(next(g))

except StopAsyncIteration:

    f1.close()

读取test.txt 文件中的文件,当检测到异常,就抛出  StopAsyncIteration,然后关闭文件 

 

# 语法结构二 

# 多分支

复制代码

s1 = 'hello python'
try:
    int(s1)
except IndexError as e:
    print(e)
except KeyError as e:
    print(e)
except ValueError as e:
    print(e)

复制代码

#语法结构三  万能的异常

s1 = 'hello Python'
try:
    int(s1)
except Exception as e:
    print(e)

# 语法结构三 多分支异常 新增  Exception

复制代码

s1 = 'hello python'
try:
    int(s1)
except IndexError as e:
    print(e)
except KeyError as e:
    print(e)
except ValueError as e:
    print(e)
except Exception as e:
    print(e)

复制代码

# 语法结四 当try 的时候没有异常时执行 else  ,无论是否异常都执行 finally

复制代码

s1 = 100
try:
    int(s1)
except IndexError as e:
    print(e)
except KeyError as e:
    print(e)
except ValueError as e:
    print(e)
else:
    print('try内代码块没有异常则执行我')
finally:
    print('无论异常与否,都会执行该模块,通常是进行清理工作')

复制代码

 

主动触发异常 

1

2

3

4

try:

    raise TypeError('类型错误')

except Exception as e:

    print(e)

 

 

来源:https://www.cnblogs.com/brave1/p/10252739.html

购物商城项目采用PHP+mysql有以及html+css jq以及layer.js datatables bootstorap等插件等开发,采用了MVC模式,建立一个完善的电商系统,通过不同用户的不同需求,进行相应的调配和处理,提高对购买用户进行配置….zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
### 回答1: Python中的异常处理try except是一种机制,用于捕获和处理程序运行时可能出现的错误或异常。通过使用try语句块来包含可能会引发异常的代码,然后使用except语句块来处理异常并执行相应的操作,可以使程序更加健壮和可靠。在处理异常时,可以使用不同的异常类型来捕获不同的错误,还可以使用finally语句块来执行一些必须要完成的操作,无论是否发生异常。 ### 回答2: Python异常处理try except是一种常见的错误处理机制,用于在程序中捕获异常并执行相应的操作。当程序遇到错误时,会抛出异常并中断执行,但使用try except语句可以让程序继续执行,并对异常进行处理,使之不影响程序的正常运行。下面就来介绍一下Python异常处理try except的相关知识。 try except的语法格式如下: try: # 可能会出现异常的代码块 except TypeError: # 出现指定异常时的处理代码块 except ValueError: # 出现另一种异常时的处理代码块 else: # 没有出现异常时的代码块 finally: # 无论是否出现异常都要执行的代码块 try:表示尝试执行某个代码块,如果代码块执行成功,程序将跳过except语句块并执行else语句块中的代码;如果代码块出现异常,程序会将异常类型和错误信息传递给except语句块,并执行相应的异常处理代码。 except:用来捕获指定类型的异常,多个异常之间可以用逗号隔开。如果不指定异常类型,则表示捕获所有类型的异常。在except语句块中可以进行异常处理,并执行一些操作。 else:当try语句块中没有出现异常时执行的代码块。 finally:无论try语句块中是否出现异常,都会执行finally语句块中的代码。 举例说明: try: num1 = input("请输入一个整数:") num2 = input("请输入另一个整数:") result = int(num1) / int(num2) print(result) except ZeroDivisionError: print("除数不能为0") except: print("输入有误,请输入整数") else: print("计算完成") finally: print("程序结束") 在这个例子中,程序首先尝试执行除法运算,如果num2为0,则会抛出“ZeroDivisionError”类型的异常,然后执行except语句块中的“除数不能为0”的提示信息;如果输入的num1或num2不是整数,则会抛出“ValueError”类型的异常,执行except语句块中的“输入有误,请输入整数”的提示信息;如果除法运算成功,则会执行else语句块中的“计算完成”提示信息。最后,无论是否出现异常,程序都会执行finally语句块中的“程序结束”提示信息。 通过使用try except语句,我们可以更好地处理Python程序中出现的异常,并保证程序的正常运行。 ### 回答3: Python中的异常处理是一种机制,用于使程序可以在遇到错误时进行可控的处理。try语句是异常处理的基本结构,它允许我们写一段代码来尝试执行某些操作,当操作失败时,我们可以使用except语句来捕获并处理异常。 在try语句中,我们可以放置可能导致错误的代码,如果在执行过程中没有错误发生,则会正常执行程序。当在try语句中发生异常时,程序会跳过try块中后续的代码,直接跳到相应的except块中执行,以执行异常处理代码。因此,我们可以在except语句中编写针对不同类型异常的相应处理代码。 如下是try except的基本语法: ```python try: # 执行可能导致错误的代码 except ExceptionType1: # 处理 ExceptionType1 类型的异常 except ExceptionType2: # 处理 ExceptionType2 类型的异常 … else: # 如果没有发生异常,执行该块 finally: # 无论是否发生异常,都会执行该块 ``` 在这个语法中,except块用于处理不同类型的异常,可以有多个,用来分别处理不同的异常。else块在try块中没有发生异常时执行,相当于对没有异常的情况进行处理。finally块中的代码会无论是否发生异常都会执行,在执行完tryexcept之后最后执行finally块,我们通常在finally块中释放资源。 在使用except的语法中,我们可以指定要捕获哪种类型的异常,也可以直接使用Exception来捕获所有类型的异常,处理方式可以根据异常类型进行选择。 假设我们的程序在处理文件时,可能会遇到文件找不到、文件无法读取等问题,在程序中我们可以为这种情况编写特定的异常处理程序: ```python try: with open('test.txt','r') as f: data = f.read() except FileNotFoundError: print('文件不存在') except PermissionError: print('文件无法读取') else: print(data) ``` 以上代码中,如果文件不存在,会执行“文件不存在”的异常处理程序,如果文件无法读取,会执行“文件无法读取”的异常处理程序,如果两者都不是,则会执行“else”中的程序来输出文件内容。 总之,在Python中,try except语句可以让我们通过处理异常方式来增强程序的健壮性,使程序可以在遇到异常时进行可控的处理。通过学习Python中的异常处理,我们可以编写更加稳定、可靠的程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值