python-3.x - 自定义异常 - python3
问题描述
我正在尝试通过使用将处理不在我希望他们输入的适当值范围内的用户输入的类来创建自定义异常(例如百分比标记必须在 0 到 100 之间),但是,我没有不知道我做错了什么。这是我的代码。谢谢
mark = 0
class illegal(Exception):
pass
while True:
try:
Mark = int(input("Enter a mark out of 100 to see if its valid or not: "))
if Mark < 0 or 100 < Mark:
raise illegal
break
except illegal:
print("Invalid mark")
print("Valid mark")
解决方案
一些修复,但请参阅我的内联评论:
class IllegalMark(Exception): # use CamelCase and name meaningfully
pass
while True:
try:
mark = int(input("Enter a mark between 0-100 to test validity: "))
if mark not in range(0, 101):
raise IllegalMark
# break # don't need this since you call 'raise'
except IllegalMark:
print("Invalid mark")
break # if you want to end on invalid, otherwise leave out
推荐阅读
- python - Docker Container 仅在退出时打印输出
- spring - 使用空权限成功登录 Spring OAuth2
- python - 如何操作目录路径以跨多个操作系统工作?
- scala - Parallel Seq 对执行语句序列有多大好处?
- css - 为 Angular 自定义组件添加样式
- selenium-webdriver - 我们如何解决 Selenium 3.141.0 和 python 2.7 中的 Google Web 驱动程序问题
- php - PHP 中的舍入时间小数点后
- uppaal - 了解 Uppaal 中的紧急渠道
- wix - 更新应用程序时,Wix MSI 安装程序不会从“添加/删除应用程序”中删除以前的版本
- c# - 使用 ItextSharp 在 PDF 中添加“第 1 页的 **”