Python基础学习错误与异常

Posted Mitena

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python基础学习错误与异常相关的知识,希望对你有一定的参考价值。

语法错误与定位

异常捕获、异常处理

自定义异常

错误

  语法错误:编写代码进行的报错【SyntaxError: invalid syntax】

    例:

  逻辑错误:语法没有问题

  系统错误:操作系统引起的

异常

  程序执行过程中出险的未知错误

  语法和逻辑是正常的

  程序业务逻辑不完善引起的成语漏洞

  常见的异常类型:除零类型【ZeroDivisionError: division by zero】,名称异常【NameError: name \'numw\' is not defined】,索引异常【列表】【IndexError: list index out of range】,键异常【KeyError: \'yuyu\'】,值异常【ValueError: invalid literal for int() with base 10: \'12eee\'】,属性异常等等

异常与错误的区别

  异常可以被捕获和处理

  错误一般是编码错误,逻辑错误,系统错误

异常/错误处理流程

  检测到错误->引发异常->捕获异常操作

  如果是拼写、配置等引起的错误,根据错误信息排查错误出现的位置进行解决

  如果是程序设计不完善引起的漏洞、根据漏洞的情况进行设计处理漏洞的逻辑

处理异常:

2-----------------------------------------------------------------------------------

try:
print(33/0)
except:
print("this is 异常")

1-----------------------------------------------------------------------------------
try:
print(33/0)
except ZeroDivisionError as e:
print(e)
print("this is 异常") --->

 3-----------------------------------------------------------------------------------

 try:

    list = [1,3,4,5]
print(list[8])
print(33 / 0)
except Exception as e:
print(e)

 4-----------------------------------------------------------------------------------

try:
list = [1,3,4,5]
print(list[8])
print(33 / 0)
except Exception as e:
print(e)
finally:
print(888888)

 无论是否有异常,finally都会执行。

5----------------------------------------------------------------------------------------------

try:
list = [1,3,4,5]
print(list[8])
print(33 / 0)
except Exception as e:
print("有异常的时候执行")
else:
print("没有异常的时候执行")
finally:
print(888888)

 6-----------------------------------------------------------------------------------------------

 def demo(num):

    if num > 10:
raise ValueError(f"错误值:{num}")
else:
print(num)
demo(19)

 

 

 

 

 7-----------------------------------------------------------------------------------------------

自定义异常

class MyException(Exception):
def __init__(self,msg):
print(f"这是一个异常:{msg}")

def demo(num):
if num > 10:
raise MyException(f"错误值:{num}")
else:
print(num)
demo(19)

 

以上是关于Python基础学习错误与异常的主要内容,如果未能解决你的问题,请参考以下文章

Python大数据分析学习基础篇——异常与函数

Python大数据分析学习基础篇——异常与函数

python基础学习日志day8-异常处理

python学习第26天

python学习第26天

Python学习—异常