所以这是一个奇怪的问题,但它可能很有趣!我可以在Python中导致异常吗?
我需要以某种方式可靠地导致python异常。我更喜欢它是人为触发的,但我也愿意在我的代码中嵌入一些始终会导致异常的东西。 (我已经建立了一些异常处理,并想测试)
我一直环顾四周,一些想法似乎是除以零或沿着这些线路的东西总是会导致一个例外 - 有没有更好的办法?最理想的做法是模拟程序运行时互联网连接的丢失....任何想法都会很棒!
玩得开心!
所以这是一个奇怪的问题,但它可能很有趣!我可以在Python中导致异常吗?
我需要以某种方式可靠地导致python异常。我更喜欢它是人为触发的,但我也愿意在我的代码中嵌入一些始终会导致异常的东西。 (我已经建立了一些异常处理,并想测试)
我一直环顾四周,一些想法似乎是除以零或沿着这些线路的东西总是会导致一个例外 - 有没有更好的办法?最理想的做法是模拟程序运行时互联网连接的丢失....任何想法都会很棒!
玩得开心!
是的,有:您可以明确提出自己的例外。
raise Exception("A custom message as to why you raised this.")
您想为网络连接丢失引发适当的异常/错误。
易于使用。它已经帮了我很多!谢谢! – Mizmor 2012-07-17 16:59:13
是的,你可以扑通
1/0
任何地方你的出现运行时错误代码,特别是在这种情况下,ZeroDivisionError: integer division or modulo by zero
。
这是通过在代码中嵌入内容来获得异常的最简单方法(正如您在文章中提到的那样)。你当然也可以提出自己的例外..取决于你的具体需求。
您可以在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?
的documentation有一些有用的例子。
这真的很好!当我得到额外的一分钟时,我会创造我自己的。谢谢! – Mizmor 2012-07-17 16:59:33
你可以放入你的代码:''raise ...'',例如''提高TypeError'' ... – mouad 2012-07-17 16:23:13