趁着课余时间学点Python(十三)异常处理

简介: 趁着课余时间学点Python(十三)异常处理


image.png

文章目录

前言

📢:❤布小禅❤

📢 作者专栏:

❤Python❤

❤Java❤

关于异常处理,这个是必学的

一、异常/错误

异常就是我们在写代码的时候,爆红啦,高亮啦什么的,还有运行的时候碰到的各种报错啦

我们经常会因为各种各样的报错而头疼——哦!天呐!又报错了!

但是我们应该想想好的,我们编程水平不也随着解决各种各样的报错而提高了吗?

当然我们也可以通过某些方式来避免这种异常,当然这是我们在解决了许许多多的报错后的事啦,也就是现在!是的没错就是现在!O(∩_∩)O哈哈~

一般分为三个类型:编译时错误 、运行时错误 、逻辑型错误

1 编译时错误

就是在写代码的时候,出现了语法上的错误,比如在定义变量的时候

i = 0

在这里,我们就犯了个编译时的错误,缩进不对

IndentationError: unexpected indent

2. 运行时错误

就是语法上没有出现错误,但是编译的时候会出现错误,比如

li = [1, 2, 3, 4, 5]
print(li[5])

在这里,虽然不会爆红,但是却会在运行的时候出现错误

IndexError: list index out of range

意思是索引超出范围,我们的列表的长度为5,但是下标却是从0开始的

3. 逻辑型错误

就是我们的代码不符合逻辑

a = 1;
b = 0;
print(a/b)

就会出现错误

ZeroDivisionError: division by zero

二、异常处理

知道了异常都是些什么类型的,那么我们就来看看,异常怎么处理

是的,我们需要处理异常

在异常没有发生的时候,就将它预料到,提前给他处理了

这叫什么?很明显嘛!紧急避险!

1. 捕获异常

可以使用try:…except:…语句来捕获异常

格式:

try:
    有可能出错的代码块
except 错误类型(可选):
    如果出错应该执行的代码
else:
    如果没错应该执行的代码
finally:
    不管有没有出错,都会执行的代码

当然那个错误类型,如果你不知道是什么类型,不写也可以

直接写解决方案就可以

1.1 try except finally语句

try:
    1/0
except:
    print("被除数不能为0")
finally:
    print("不要捣乱哦,好好输入")

1.2 try except else finally语句

try:
    1/1
except:
    print("被除数不能为0")
else:
    print("运算正确")
finally:
    print("不要捣乱哦,好好输入")

2. 抛出异常

将异常抛出给控制台

也就是平常见的红色报错

try:
    print(a)
except NameError as e:
    pass

这个代码不抛出异常的话,就什么都不执行,正常结束

image.png

而如果抛出异常就是这样

try:
    print(a)
except NameError as e:
    raise e

image.png

3. 自定义异常

通过继承Exception 类来实现自定义异常类

class MyError(Exception):
    def __init__(self, value):
        self.value = value
    def __str__(self):
        return self.value
try:
    raise MyError(2)
except MyError as e:
    print(e.value)

输出:image.png

结语

兴趣是最好的老师,坚持是不变的真理。

学习不要急躁,一步一个脚印,踏踏实实的往前走。

每天进步一点点,日积月累之下,你就会发现自己已经变得很厉害了。

我是布小禅,一枚自学萌新,跟着我每天进步一点点吧!

说了这么多暂时也就够了,那么就告辞吧

image.png


目录
相关文章
|
安全 Linux 网络安全
Kali 渗透测试:基于结构化异常处理的渗透-使用Python编写渗透模块(一)
Kali 渗透测试:基于结构化异常处理的渗透-使用Python编写渗透模块(一)
409 2
|
Python Windows 网络安全
Kali 渗透测试:基于结构化异常处理的渗透-使用Python编写渗透模块(二)
Kali 渗透测试:基于结构化异常处理的渗透-使用Python编写渗透模块(二)
251 2
|
10月前
|
数据采集 监控 Python
Python爬虫异常处理:自动跳过无效URL
Python爬虫异常处理:自动跳过无效URL
Python爬虫异常处理:自动跳过无效URL
|
数据库连接 Python
Python中的异常处理除了Try语句,你还会啥?
Python中的异常处理除了Try语句,你还会啥?
267 1
|
Python
|
11月前
|
数据库连接 开发者 Python
Python中的异常处理
本文深入探讨了Python中的异常处理机制,包括异常的捕获、处理、抛出及最佳实践。通过try-except语句块,程序可以在运行时处理错误,增强健壮性和可维护性。文章还介绍了自定义异常类的创建与使用,并提供了代码示例和详细的语法说明。最后,总结了异常处理的最佳实践,如精确捕获异常、提供有用错误信息等,帮助开发者编写更可靠的代码。
390 14
|
11月前
|
人工智能 数据库 开发者
[oeasy]python068_异常处理之后做些什么_try语句的完全体_最终_finally
介绍了 Python 中 `try` 语句的完全体,包括 `try`、`except`、`else` 和 `finally` 子句的使用。通过实例展示了如何捕获异常并输出详细的错误信息,如文件名和行号。特别强调了 `finally` 子句的作用,无论是否发生异常,`finally` 都会执行,常用于清理操作。最后总结了 `try` 语句的四个部分及其应用场景,并简要提及了 Python 社区的决策机制。 #try #except #else #finally
203 1
Python编程中的异常处理:理解与实践
【9月更文挑战第14天】在编码的世界里,错误是不可避免的。它们就像路上的绊脚石,让我们的程序跌跌撞撞。但是,如果我们能够预见并优雅地处理这些错误,我们的程序就能像芭蕾舞者一样,即使在跌倒的边缘,也能轻盈地起舞。本文将带你深入了解Python中的异常处理机制,让你的代码在面对意外时,依然能保持优雅和从容。
281 73
|
UED 开发者 Python
Python中的异常处理机制
Python中的异常处理机制
186 2
|
安全 Java 程序员
Python 异常处理!
本文详细介绍了Python中的异常处理,包括try、except和finally语句的使用方法。文章区分了语法错误与异常,并列举了Python中常见的异常类型,如`SyntaxError`、`TypeError`等。通过具体示例展示了如何使用try-except块捕获和处理异常,以及如何结合else和finally子句增强代码的健壮性和可读性。此外,还介绍了如何使用raise语句主动抛出异常。通过合理的异常处理,可以提高程序的可靠性与调试效率,但也可能带来性能开销和代码复杂度的增加。
318 4

推荐镜像

更多