我是靠谱客的博主 干净向日葵,这篇文章主要介绍python学习26:异常,现在分享给大家,希望可以做个参考。

目录标题

      • 1. try and except的使用
      • 2. try ,except,else 和finally
      • 3. 函数的错误
      • 4. 抛出异常
      • 练习


1. try and except的使用

复制代码
1
2
3
4
5
6
7
8
9
10
try: # 不能确定正确之行的代码 num = int(input('请输入一个数字:')) print(num) except: # try里面的代码如果有异常/错误 才会之行以下代码 print('请输入正确的整数!!!!') print('*' * 50)

在这里插入图片描述
在这里插入图片描述

2. try ,except,else 和finally

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
try: num = int(input('Num:')) result = 8 / num print(result) except ZeroDivisionError: print('0不能做除数') except Exception as r: print('未知错误!!') # 程序没有碰到致命错误 就执行else else: print('hello') finally: # 无论是否遇到异常都会执行 print('!!!!')

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3. 函数的错误

函数的错误:一级一级向上去找 最终会将异常传递到主函数里面去

复制代码
1
2
3
4
5
6
7
8
9
10
11
# 错误发生在demo1中 def demo1(): try: return int(input('请输入正确的整数:')) except Exception as r: print('未知错误 %s' %r) def demo2(): return demo1() print(demo2())

在这里插入图片描述

4. 抛出异常

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
def input_passwd(): # 1.提示用户输入密码 pwd = input('请输入密码:') # 2.判断密码长度 if len(pwd) >= 8: return pwd # 3.如果<8 就主动抛出异常 print('主动抛出异常') # a.创建异常对象 ex = Exception('密码长度不够,必须大于8位') # b.主动抛出异常 raise ex # 注意:只抛出不捕获 代码会报错 try: print(input_passwd()) except Exception as re: print(re)

在这里插入图片描述
在这里插入图片描述

练习

用户可以一直输入数字, 当按ctrl+c之后计算所有数的和;

复制代码
1
2
3
4
5
6
7
8
9
10
11
result = 0 while True: try: num = int(input('Num:')) result += num except KeyboardInterrupt: print('运行结果:',result) break

在这里插入图片描述

最后

以上就是干净向日葵最近收集整理的关于python学习26:异常的全部内容,更多相关python学习26内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(66)

评论列表共有 0 条评论

立即
投稿
返回
顶部