您好我是Python的新手,我刚刚开始学习错误和异常。我在一个类中有这个函数,在一个名为num的给定索引处插入一行。我知道如果python会引发错误没有给出数字,但我想提出自己的错误。我该怎么做?这就是我试过的。但是引发的错误仍然是默认错误?
def insertNum(self, num, line):
if num== None:
raise Exception("Num not specified.")
else:
self.list.insert(num, line)
return self.list
答案 0 :(得分:1)
您可以将num
的默认值设置为None
,然后检查该值是否为None
。
def insertNum(self, line, num=None):
if num is None:
raise Exception("Num not specified.")
else:
self.list.insert(num, line)
return self.list
如果您只将一个参数传递给insertNum
方法,则num
将设置为None
(默认值),并会引发异常。
如果您不想更改参数的顺序,可以使用:
def insertNum(self, num, line=None):
if line is None:
raise Exception("Num not specified.")
else:
self.list.insert(num, line)
return self.list
关于默认参数如何工作的简单演示:
>>> def foo(bar, baz=None):
... print(bar, baz)
...
>>> foo(1, 2)
1 2
>>> foo(2)
2 None
答案 1 :(得分:0)
我建议你阅读exceptions and errors
但主要的想法是你捕获错误,然后你按照自己喜欢的方式处理它们。
try:
#do something
except Exception as e:
# error occured
print("A wild error appeared")
答案 2 :(得分:0)
您可以使用RetryStrategy
声明。
try...except
答案 3 :(得分:0)
用另一个具有try
和除了`的函数包装你的函数,然后你可以提出你想要的错误/异常。
def wrapper_func(self, num, line):
try:
self.insertNum(num, line)
except Exception as e:
raise Exception("whatever you want")