360的网站怎么做,软件开发外包有前途吗,苏州新闻最新消息今天,洛阳网站建设哪家便宜自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501
如果某个函数或方法可能会产生异常#xff0c;但不想在当前函数或方法中处理这个异常#xff0c;则可以使用raise语句在函数或方法中抛出异常。rai…自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501
如果某个函数或方法可能会产生异常但不想在当前函数或方法中处理这个异常则可以使用raise语句在函数或方法中抛出异常。raise语句的语法格式如下
raise [ExceptionName[(reason)]]
其中ExceptionName[(reason)]为可选参数用于指定抛出的异常名称以及异常信息的相关描述。如果省略就会把当前的错误原样抛出。
说明ExceptionName(reason)参数中的“(reason)”也可以省略如果省略则在抛出异常时不附带任何描述信息。
例如修改实例02加入限制苹果数量必须大于或等于小朋友的数量从而保证每个小朋友都能至少分到一个苹果。 实例03 模拟幼儿园分苹果每个人至少分到一个苹果
在IDLE中创建一个名称为division_apple_1.py的文件然后将实例02的代码全部复制到该文件中并且在第5行代码“children int(input(请输入来了几个小朋友))”的下方添加一个if语句实现当苹果的数量小于小朋友的数量时应用raise语句抛出一个ValueError异常接下来再在最后一行语句的下方添加except语句处理ValueError异常修改后的代码如下
def division(): 功能分苹果 print(\n 分苹果了 \n) apple int(input(请输入苹果的个数)) # 输入苹果的数量 children int(input(请输入来了几个小朋友)) if apple children: raise ValueError(苹果太少了不够分...) result apple // children # 计算每人分几个苹果 remain apple - result * children # 计算余下几个苹果 if remain 0: print(apple, 个苹果平均分给, children, 个小朋友每人分, result, 个,剩下, remain, 个。) else: print(apple, 个苹果平均分给, children, 个小朋友每人分, result, 个。)
if __name__ __main__: try: # 捕获异常 division() # 调用分苹果的函数 except ZeroDivisionError: # 处理ZeroDivisionError异常 print(\n出错了 ~_~ ――苹果不能被0个小朋友分) except ValueError as e: # ValueError print(\n出错了 ~_~ ――,e)
执行程序输入苹果的数量为5小朋友的数量为10时将出现如图10所示的出错提示。 图10 苹果的数量小于小朋友的数量时给出的提示
说明在应用raise抛出异常时要尽量选择合理的异常对象而不应该抛出一个与实际内容不相关的异常。例如在实例03中想要处理的是一个和值有关的异常这时就不应该抛出一个IndentationError异常。