Python03——异常处理——Python和C#简单对比

心得

异常处理在C#中接触过,形式大致相同。

PythonC#
try-excepttry-catch
try-except-finallytry-catch-finally
try-except-else

异常是程序在运行过程中检测到了错误,从而触发了计算机预定的异常处理程序,然后根据异常错误信息进行相应的处理,而不影响程序大体的正常运行1。错误的出现并不总是编写程序的人的原因2,也有可能是用户导致的。比如程序需要通过用户输入获取一个整型变量,但是用户在实际输入过程中可能会输入除数字之外的信息,此时就可以用异常处理实现对该错误操作的纠正。

未进行异常处理的程序:

# 存在输入非整型数字的风险,从而导致程序出现bug
a = int(input()) 

进行异常处理的程序:

try:
    # 放在 try-except 语句中可以有效避免程序出错导致崩溃的情况,并且还可以友好的提醒用户输入有误
	a = int(input()) 
except ValueError:
    print("数字输入错误,请重新输入。")

另外,C#也可以自定义异常类,极大的使异常信息变得更加灵活,更加的符合项目的使用需求。

习题

  • 猜数字游戏
    题目描述:
    电脑产生一个零到100之间的随机数字,然后让用户来猜,如果用户猜的数字比这个数字大,提示太大,否则提示
    太小,当用户正好猜中电脑会提示,“恭喜你猜到了这个数是…”。在用户每次猜测之前程序会输出用户是第几次猜测,如果用户输入的根本不是一个数字,程序会告诉用户"输入无效"。
    (尝试使用try catch异常处理结构对输入情况进行处理)
    获取随机数采用random模块。
import random as rd

print("猜测一个0到100的数字。")

expect = rd.randrange(101)
cnt = 1
while True:
    try:
        print("第"+str(cnt)+"次猜测,请输入一个整型数字:")
        x = input()
        num = int(x)
        cnt += 1
        if num > expect:
            print("太大")
        elif num < expect:
            print("太小")
        else:
            print("对了")
            break
    except ValueError:
        print("数字输入错误,请重新输入。")

引用


  1. Python编程入门. DataWhale等. 2020-07-16. P38. ↩︎

  2. C#高级编程(第10版). Christian Nagel. 2017年3月第1版. P372. ↩︎

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值