所以这是一个有点奇怪的问题,但它可能很有趣!
我需要以某种方式可靠地导致python中的异常。我希望它是人为触发的,但我也愿意在我的代码中嵌入一些总是会导致异常的东西。(我已经设置了一些异常处理并想测试它)
我一直在环顾四周,有些想法似乎是被零除或类似的东西总是会导致异常——有更好的方法吗?最理想的是在程序运行时模拟互联网连接的丢失......任何想法都会很棒!
玩得开心!
是的,有:您可以明确提出自己的异常。
raise Exception("A custom message as to why you raised this.")
您可能希望针对网络连接丢失提出适当的异常/错误。
您可以在 Python 中定义自己的异常,因此您可以创建自定义错误以满足您的需求。您可以测试某些条件是否存在,并使用该测试的真实性来决定是否提出您闪亮的自定义异常:
class MyFancyException(Exception): pass
def do_something():
if sometestFunction() is True:
raise MyFancyException
carry_on_theres_nothing_to_see()
try:
do_something()
except MyFancyException:
# This is entirely up to you!
# What needs to happen if the exception is caught?
该文档有一些有用的示例。
是的,你可以扑通一声
1 / 0
代码中的任何位置都会发生运行时错误,特别是在这种情况下 a ZeroDivisionError: integer division or modulo by zero
.
这是通过在您的代码中嵌入一些东西来获得异常的最简单方法(正如您在帖子中提到的那样)。您当然也可以提出自己的例外情况.. 取决于您的具体需求。