安装python常见问题及解决方法(python异常和错误)
今天给各位详细介绍关于“安装python常见问题及解决方法”的核心内容以及“python异常和错误”的相关知识,希望对各位有所帮助。
异常就是错误异常会导致程序崩溃并停止运行能监控并捕获异常,将异常部位的程序进行修理使得程序继续正常运行
1 # coding:utf-8 2 3 def upper(str_data): 4 new_str='None' 5 try: 6 new_str=str_data.upper() 7 except: 8 print('程序出错了') 9 return new_str10 11 result=upper(123)12 print(result)13 '''14 程序出错了15 None16 '''
1 # coding:utf-8 2 3 def upper(str_data): 4 new_str='None' 5 try: 6 new_str=str_data.upper() 7 except Exception as e: 8 print('程序出错了:{}'.format(e)) 9 return new_str10 11 result=upper(123)12 print(result)13 '''14 程序出错了:'int' object has no attribute 'upper'15 None16 '''
1 # coding:utf-8 2 3 def test(): 4 try: 5 print("try start") 6 1/0 7 print("try finish") #这句代码不会执行,因为1/0已经报错了,直接进入到exception中了 8 except ZeroDivisionError as e: 9 print(e)10 test()11 '''12 try start13 pision by zero14 '''1 # coding:utf-8 2 3 def test(): 4 try: 5 print("try start") 6 print(name) 7 print("try finish") 8 except ZeroDivisionError as e: #except捕获的异常要与实际发生的异常一致,才能捕获到,不然没有用;捕获的是1/0的报错,实际发生的错误是name变量未定义 9 print(e)10 test()11 '''12 Traceback (most recent call last):13 File "D:/WorkSpace/Python_Study/test01.py", line 10, in 14 test()15 File "D:/WorkSpace/Python_Study/test01.py", line 6, in test16 print(name)17 NameError: name 'name' is not defined18 try start19 '''
异常类型
异常名称
说明
Exception
通用异常类型(基类)
ZeroDivisionError
不能整除0
AttributeError
对象没有这个属性
IOError
输入输出操作失败
IndexError
没有当前的索引
KeyError
没有这个键值(key)
NameError
没有这个变量(未初始化对象)
SyntaxError
Python语法错误
SystemError
解释器的系统错误
VauleError
传入的参数错误
finally的功能:
无论是否发生异常,一定会执行的代码块在函数中,即便在try或except中进行了return也依然会执行finally语法快try语法少要伴随except或finally中的一个语法:try: except: finally: View Code1 # coding:utf-8 2 3 def test(): 4 try: 5 return "try" 6 except: 7 return "except" 8 finally: 9 return "finally"10 11 print(test()) #finallyraise:将信息以报错的形式抛出
1 # coding:utf-8 2 3 def test(number): 4 if number==100: 5 raise ValueError("number不能等于100") 6 return number 7 print(test(50)) #50 8 print(test(100)) 9 '''10 Traceback (most recent call last):11 File "D:/WorkSpace/Python_Study/test01.py", line 8, in 12 print(test(100))13 File "D:/WorkSpace/Python_Study/test01.py", line 5, in test14 raise ValueError("number不能等于100")15 ValueError: number不能等于10016 '''1 # coding:utf-8 2 3 # 知识点1:raise主动抛出的异常可以被正常捕获 4 def test(number): 5 if number==100: 6 raise ValueError("number不能等于100") 7 return number 8 9 def test1(number):10 try:11 return test(number)12 except ValueError as e:13 return e14 15 print(test1(100)) #number不能等于1001 # coding:utf-8 2 3 # 知识点2:raise语法后面没有进行异常类型的传递,直接跟字符串,编译器报错,必须得加,如果不知道异常类型,使用基类Exception 4 def test(): 5 raise "报错了" 6 7 print(test()) 8 ''' 9 Traceback (most recent call last):10 File "D:/WorkSpace/Python_Study/test01.py", line 7, in 11 print(test())12 File "D:/WorkSpace/Python_Study/test01.py", line 5, in test13 raise "报错了"14 TypeError: exceptions must derive from BaseException15 '''
1 # coding:utf-8 2 3 class NumberLimitError(Exception): 4 def __init__(self,message): 5 self.message = message 6 7 class NameLimitError(Exception): 8 def __init__(self,message): 9 self.message = message10 11 def test(name):12 if name=="张三":13 raise NameLimitError("张三不可以被填写")14 return name15 16 def test1(number):17 if number > 100:18 raise NumberLimitError("数字不能大于100")19 return number20 21 try:22 test("张三")23 except NameLimitError as e:24 print(e)25 '''26 张三不可以被填写27 '''28 29 try:30 test1(105)31 except NumberLimitError as e:32 print(e)33 '''34 数字不能大于10035 '''assert断言:用于判断一个表达式,在表达式条件为false时触发异常
raise是生硬的抛出异常assert是先进行判断然后根据结果决定是否抛出
1 # coding:utf-8 2 3 def test(name): 4 assert name in ["张三","李四"],"{}不在学生列表中".format(name) 5 print("{}在学生列表中".format(name)) 6 test("张三") #张三在学生列表中 7 test("王五") 8 ''' 9 Traceback (most recent call last):10 File "D:/WorkSpace/Python_Study/test01.py", line 7, in 11 test("王五")12 File "D:/WorkSpace/Python_Study/test01.py", line 4, in test13 assert name in ["张三","李四"],"{}不在学生列表中".format(name)14 AssertionError: 王在学生列表中15 '''百度上面的方法一大堆,这里我就不多赘述了。
以上内容就是关于安装python常见问题及解决方法和python异常和错误的精彩内容,是由小编认真整理编辑的,如果对您有帮助欢迎收藏转发...谢谢!
- 随机文章
- 风儿(风儿轻轻的吹)
- 饿了么红包怎么用(饿了么红包怎么用微信支付)
- 儿童教育文章(儿童教育)
- 光遇花手先祖位置(安卓光遇手花先祖)
- 广州4a广告公司(广州4a广告公司创意总监年薪)
- 抖音卡(抖音卡顿怎么解决)
- xboxones(xboxone手柄怎么配对主机)
- 兵马俑(兵马俑介绍和历史背景)
- 陈武简历
- 帆船比赛(帆船比赛视频)
- 海猫鸣泣之时游戏(海猫鸣泣之时游戏在哪玩)
- 韩国媳妇和小雪(韩国媳妇和小雪的父亲工资是多少)
- 鬼泣5攻略(鬼泣5攻略第三关怎么跳)
- 冰客(冰客果汁)
- yy魔兽(yy魔兽世界)
- 国外成人游戏(国外成人游戏注册需要visa信用卡)
- 充值卡代理(充值卡代理加盟)
- 拆奶罩
- 郭妮小说(恶魔的法则郭妮小说)
- 东天目山(东天目山景区)
- 杭同(杭同培训中心怎么样)
- 蝙蝠给人类的一封信(蝙蝠给人类的一封信)
- 大松电饭煲(美的大松电饭煲)
- 服饰加盟(服饰加盟店招商)
- 点对点短信息(点对点短信息费是什么意思)
- 河北省大运会(河北省大运会时间)
- 哈利波特官网(哈利波特官网在哪里)
- 骇客神条(骇客神条怎么辨别真假)
- 杜星霖(杜星霖图片)
- 查传倜(查传倜个人生活)
