前言

错误是程序中的问题,由于这些问题而导致程序停止执行。另一方面,当某些内部事件发生时,会引发异常,从而改变程序的正常流程。

python中会发生两种类型的错误。

  1. 语法错误
  2. 逻辑错误(异常)

语法错误

如果未遵循正确的语言语法,则会引发语法错误。

# 初始化amount变量
amount = 10000 # 检查你是否有资格
# 是否购买某某自学课程
if(amount>2999)
print("您有资格购买某课程")

输出:

PS C:\Users\Administrator\Desktop> & D:/Python37-32/python.exe "g:/黑苹果备份请勿删除/代码/exercise24 (1)/python加密.py"
File "g:/黑苹果备份请勿删除/代码/exercise24 (1)/python加密.py", line 6
if(amount>2999)
^
SyntaxError: invalid syntax

它返回语法错误消息,因为在if语句后:缺少冒号。我们可以通过编写正确的语法来解决此问题。

逻辑错误(异常)

在运行时中,通过语法测试后发生错误的情况称为异常或逻辑类型。例如,当我们将任何数字除以零时,ZeroDivisionError就会引发异常,或者当我们导入一个不存在的模块时,就会引发异常ImportError。

范例1:

# 初始化amount变量
marks = 10000 # 用0除
a = marks / 0
print(a)

输出:

PS C:\Users\Administrator\Desktop> & D:/Python37-32/python.exe "g:/黑苹果备份请勿删除/代码/exercise24 (1)/python加密.py"
Traceback (most recent call last):
File "g:/黑苹果备份请勿删除/代码/exercise24 (1)/python加密.py", line 5, in <module>
a = marks / 0
ZeroDivisionError: division by zero

在上面的示例中,我们尝试将数字除以0时出现ZeroDivisionError。

示例2:缩进不正确时。

if(a<3):
print("gfg")

输出:

PS C:\Users\Administrator\Desktop> & D:/Python37-32/python.exe "g:/黑苹果备份请勿删除/代码/exercise24 (1)/python加密.py"
File "g:/黑苹果备份请勿删除/代码/exercise24 (1)/python加密.py", line 1
if(a<3):
^
SyntaxError: invalid character in identifier

除上述异常外,一些常见的内置异常是:

错误处理

当出现错误和异常时,我们将借助Handling方法进行处理。

  • 用Try / Except / Finally处理异常我们可以通过Try / Except / Finally方法处理错误。我们在try中编写不安全的代码,在except中回退代码,在finally块中返回最终代码。例
# 将不安全操作置于试验区
try:
print("代码开始") # 不安全操作执行
print(1 / 0)
except :
print("发生错误")
finally:
print("软件测试test")

输出:

PS C:\Users\Administrator\Desktop> & D:/Python37-32/python.exe "g:/黑苹果备份请勿删除/代码/exercise24 (1)/python加密.py"
代码开始
发生错误
软件测试test
  • 为预定义条件引发异常当我们要为某些条件的限制进行编码时,我们可以引发异常。例
请在你的帐户中加钱

输出:

请在你的帐户中加钱

Python中的错误和异常的更多相关文章

  1. 关于Python中的错误与异常,你是否了解的够仔细?

    每次版本结束都描述这着同样的错误,相似的问题,但始终没见解决.所以今天,我就来总结下Python的错误与异常! 异常与错误 错误 语法错误 可以通过IDE或者解释器给出提示的错误 opentxt('a ...

  2. Python学习-16.Python中的错误处理

    虽然叫错误,但跟 C# 中的异常是一回事.只不过 Python 中叫错误(Error)而 C# 中叫异常(Exception). 先手工产生一个异常: file = open('','r') 上面一句 ...

  3. python中的捕获异常、异常跟踪

    # 捕获异常,打印异常信息 try: 1/0 except Exception as e: print(e) 输出结果是integer division or modulo by zero,只知道是报 ...

  4. python中try except处理程序异常的三种常用方法

    如果你在写python程序时遇到异常后想进行如下处理的话,一般用try来处理异常,假设有下面的一段程序: try: 语句1 语句2 . . 语句N except .........: do somet ...

  5. Python学习_07_错误、异常

    地毯式地过语法终于快要结束了... Python中的常见异常 1.NameError:尝试访问一个未初始化的变量 2. ZeroDivisionError:除数为0 3. SyntaxError:Py ...

  6. Python学习-18.Python中的错误处理(三)

    在某些情况下,我们需要定义自己的异常并且抛出 先定义一个错误: class MyError(BaseException): def __init__(self): pass 上面定义了一个叫MyErr ...

  7. python中若干错误

    今天在运行的django的时候一直提示”系统错误“,如下 except Exception, ex: logger.error(printException()) return render_stri ...

  8. Python 中常见错误总结

    IndentationError: unexpected indent Python 中强制缩进,, IndentationError: unexpected indent 缩进错误 这类错误非常常见 ...

  9. php中的错误和异常

    总结: php错误不会抛出异常,因此不能被catch,但会根据配置写入日志文件或者输出到浏览器,所以可以通过日志文件查看错误 php异常都必须自己抛出,并通过catch捕捉.SQL语句执行的错误好像可 ...

随机推荐

  1. Java实现 蓝桥杯VIP 算法提高 现代诗如蚯蚓

    算法提高 现代诗如蚯蚓 时间限制:1.0s 内存限制:256.0MB 问题描述 现代诗如蚯蚓 断成好几截都不会死 字符串断成好几截 有可能完全一样 请编写程序 输入字符串 输出该字符串最多能断成多少截 ...

  2. Java实现LeetCode 110. Balanced Binary Tree

    /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * Tre ...

  3. Java实现 洛谷 P2024 [NOI2001]食物链

    输入输出样例 输入 #1 100 7 1 101 1 2 1 2 2 2 3 2 3 3 1 1 3 2 3 1 1 5 5 输出 #1 3 import java.util.Scanner; pub ...

  4. Java实现 蓝桥杯 历届试题 危险系数

    问题描述 抗日战争时期,冀中平原的地道战曾发挥重要作用. 地道的多个站点间有通道连接,形成了庞大的网络.但也有隐患,当敌人发现了某个站点后,其它站点间可能因此会失去联系. 我们来定义一个危险系数DF( ...

  5. Java实现第八届蓝桥杯日期问题

    日期问题 题目描述 小明正在整理一批历史文献.这些历史文献中出现了很多日期.小明知道这些日期都在1960年1月1日至2059年12月31日.令小明头疼的是,这些日期采用的格式非常不统一,有采用年/月/ ...

  6. cocos2dx获得字体的宽高

    Android: 1.在CCImage中添加下面的方法: //头文件声明略. cocos2d::CCSize CCImage::getStringSize(const char *text, cons ...

  7. C# 反射详解一

    首先反射是基于System.Reflection命名空间下,.Net框架提供的帮助类库,可以读取并使用metadata(元数据:描述对象信息的数据). 我们再来看下代码生成编译的总过程. 编译器编译( ...

  8. MySQL 8.0权限认证(上)

    MySQL 8.0授权认证   一.系统权限表   user 存放用户账户信息以及全局级别(所有数据库)权限,决定了来自哪些主机的哪些用户可以访问数据库实例,如果有全局权限则意味着对所有数据库都有此权 ...

  9. 第12章 Java内存模型与线程

    参考<深入理解Java虚拟机> 一.Java内存模型 1.Java内存模型 2.内存间交互操作  流程图: 3.volatile关键字 两个特性: 3.1.保证变脸对所有线程的可见性: 由 ...

  10. Blazor server side 自家的一些开源的, 实用型项目的进度之 CEF客户端

    距离上次提出 [Asp.Net Core] Blazor Server Side 扩展用途 - 配合CEF来制作带浏览器核心的客户端软件 的想法后, 差不多2个星期了. 这个玩意也做了一半, 自用是没 ...