Python中错误与异常如何处理
发表于:2025-01-25 作者:千家信息网编辑
千家信息网最后更新 2025年01月25日,这篇文章主要介绍了Python中错误与异常如何处理,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。前言语法错误SyntaxError 类
千家信息网最后更新 2025年01月25日Python中错误与异常如何处理
这篇文章主要介绍了Python中错误与异常如何处理,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
前言
语法错误
SyntaxError 类表示语法错误,当解释器发现代码无法通过语法检查时会触发的错误。语法错误是无法用 try...except...捕获的。
>>> print: File "", line 1 print: ^SyntaxError: invalid syntax
异常
Python使用被称为异常的特殊对象来管理程序执行期间发生的错误,每当发生让Python不知所措的错误时,它都会创建一个异常对象,如果编写了处理异常的代码,程序将继续运行;如果未对异常做处理,程序将进行停止,并显示一个traceback,其中包含有关异常的报告。
异常处理
print(5/0)
运行结果:
Traceback (most recent call last): File "文件与异常/文件与异常.py", line 228, inprint(5/0)ZeroDivisionError: division by zero
异常处理使用以下格式:
try-except代码块
try-except代码块try: print(5/0)except ZeroDivisionError: print("can't divide by zero")#结果 print("can't divide by zero")抛出异常
抛出异常
使用 raise 语句抛出一个指定的异常。
raise 唯一的一个参数指定了要被抛出的异常。它必须是一个异常的实例或者是异常的类(也就是 Exception 的子类)。
如果你只想知道这是否抛出了一个异常,并不想去处理它,那么一个简单的 raise 语句就可以再次把它抛出。
自定义异常
可以通过创建一个新的异常类来拥有自己的异常。异常类继承自 Exception 类,可以直接继承,或者间接继承。
当创建一个模块有可能抛出多种不同的异常时,一种通常的做法是为这个包建立一个基础异常类,然后基于这个基础类为不同的错误情况创建不同的子类。
大多数的异常的名字都以"Error"结尾,就跟标准的异常命名一样。
实例
import sysclass Error(Exception): """Base class for exceptions in this module.""" pass# 自定义异常class InputError(Error): """Exception raised for errors in the input. Attributes: expression -- input expression in which the error occurred message -- explanation of the error """ def __init__(self, expression, message): self.expression = expression self.message = messagetry: print('code start running...') raise InputError('input()', 'input error') # ValueError int('a') # TypeError s = 1 + 'a' dit = {'name': 'john'} # KeyError print(dit['1'])except InputError as ex: print("InputError:", ex.message)except TypeError as ex: print('TypeError:', ex.args) passexcept (KeyError, IndexError) as ex: """支持同时处理多个异常, 用括号放到元组里""" print(sys.exc_info())except: """捕获其他未指定的异常""" print("Unexpected error:", sys.exc_info()[0]) # raise 用于抛出异常 raise RuntimeError('RuntimeError')else: """当无任何异常时, 会执行 else 子句""" print('"else" 子句...')finally: """无论有无异常, 均会执行 finally""" print('finally, ending')
感谢你能够认真阅读完这篇文章,希望小编分享的"Python中错误与异常如何处理"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!
错误
处理
代码
篇文章
语法
不同
程序
同时
基础
子句
子类
实例
对象
文件
结果
语句
支持
运行
特殊
不知所措
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
安卓数据库框架re
西城区常见网络技术维修价格
谢永江网络安全意识
关系数据库操作
河南新华电脑学院网络技术
网络安全隐患自查及整改情况
软件开发和网络安全哪个自由
网络安全审查利好上市公司
网络安全与执法平均工资
软件开发的输入和输出文档
云服务器租赁优势
二手dell服务器
近期百度在线网络技术
厦门对日软件开发招聘
中广核软件开发处
云数据库审计技术
大数据与技术融合数据库技术
工程行业软件开发公司有哪些
浦东新区技术软件开发中心收费
瑞昱的软件开发环境
软件开发公司招投标之路
惠普服务器专卖店
软件开发实习生岗位介绍
网络安全架构Visio图标
两台服务器免密码
软件开发 社招 笔试
ec数据库是什么意思
成都数据库培训机构
崇明区项目软件开发代理商
青海两会加强网络安全