异常处理机制
引入异常处理机制可以用来解决程序运行时的错误
语法
实例:
BMR计算器
"""
作者:陈洁
功能:BMR计算器
版本:4.0
日期:05/10/2019
增加功能:处理异常操作
"""
def main():
"""
主函数
"""
y_or_n = input('是否退出程序(y/n)?')
while y_or_n == 'n':
print('请输入以下信息,用空格分隔!')
input_str = input('性别,身高(cm),体重(kg),年龄')
str_list = input_str.split(' ')
try:
gender = str_list[0]
height = float(str_list[1])
weight = float(str_list[2])
age = int(str_list[3])
if gender == '男':
# 男性
bmr = (17 * weight) + (5.0 * height) - (6.8 * age) + 66
elif gender == '女':
# 女性
bmr = (9.6 * weight) + (1.8 * height) - (4.7 * age) + 655
else:
bmr = -1
if gender != -1:
print('您的性别:{},您的体重:{}公斤,您的身高:{}厘米,您的年龄:{}岁'.format(gender, weight, height, age))
print('您的基础代谢率:{}大卡:'.format(bmr))
else:
print('暂不支持该性别!')
except ValueError:
print('请输入正确信息!')
except:
print('程序异常!')
# print里面参数为空,输出空行
print()
y_or_n = input('是否退出程序(y/n)?')
if __name__ == '__main__':
main()
判断错误类型:
except ValueError:
print('请输入正确信息!')
如果是ValueError
错误,则输出请输入正确信息!
但是,错误不可能全部写出来,可以用
except:
print('程序异常!')
except
不加任何错误类型,即可包囊全部错误类型,给用户输出提示语句程序异常!