Python 提出异常时,如何计算异常数?
我是一名编程初学者,由于我现在正在做一个练习,所以我在基本的异常方面遇到了一些问题 该练习分为两部分: A部分: 我需要创建一个名为ExceptionCounter的类,该类包含一个实例变量num_exceptions,它从0开始。ExceptionCounter还有一个方法,它采用一个参数,一个函数(除了通常的self)。check_for_exception调用函数(不带参数),并在引发任何异常时递增num_exception 除了“如果引发任何异常”部分之外,我已经记下了代码的基本内容。我正在通过一个函数,其中函数体是一个对象,对吗?因此,如果我传递的函数有错误,我如何处理该错误以使其触发增量 到目前为止,这是我的代码:Python 提出异常时,如何计算异常数?,python,Python,我是一名编程初学者,由于我现在正在做一个练习,所以我在基本的异常方面遇到了一些问题 该练习分为两部分: A部分: 我需要创建一个名为ExceptionCounter的类,该类包含一个实例变量num_exceptions,它从0开始。ExceptionCounter还有一个方法,它采用一个参数,一个函数(除了通常的self)。check_for_exception调用函数(不带参数),并在引发任何异常时递增num_exception 除了“如果引发任何异常”部分之外,我已经记下了代码的基本内容。我
class ExceptionCounter(Exception):
def __init__(self):
self.num_exceptions = 0
def check_for_exceptions(self, func):
try:
self.func()
except Exception:
self.num_exceptions += 1
但是我得到一个“ExceptionCounter”对象没有属性“check\u for\u exception”错误。关于如何解决这个问题,有什么想法吗?我建议您通读Python的文档。对于您遇到问题的部件,请使用try/except。将可能引发异常的代码放在try子句中,并将“if a exception is reased”代码放在except子句中。例如:
try:
func() # call the function
except Exception:
counter += 1 # this line is only executed if an exception was raised
我建议您通读Python关于的文档。对于您遇到问题的部件,请使用try/except。将可能引发异常的代码放在try子句中,并将“if a exception is reased”代码放在except子句中。例如:
try:
func() # call the function
except Exception:
counter += 1 # this line is only executed if an exception was raised
标记作业。。。并向我们展示您的
裸骨代码标签和家庭作业。。。并向我们展示您的barebone代码
到目前为止,这是我的代码:类异常计数器(ExceptionCounter)(Exception):def\uuu init\uuuu(self):self.num\u exceptions=0 def check_for_Exception(self,func):try:self.func()例外情况除外:self.num_exceptions+=1,但我得到的“ExceptionCounter”对象没有属性“check_for_Exception”错误。关于如何解决这个问题有什么想法吗?@JDx-您的函数名为check\u for\u exception
,但根据错误,您试图调用check\u for\u exception
(注意缺少的's')。但是,您的代码可能仍然无法正常工作,因为func
作为自己的参数传递给check\u以查找异常。这意味着,您不应该调用self.func()
,而应该只调用func()
。到目前为止,这是我的代码:class ExceptionCounter(Exception):def\uu init\uuuuu(self):self.num\u exceptions=0 def check\u for\u Exception(self,func):try:self.func()例外情况除外:self.num_exceptions+=1,但我得到的“ExceptionCounter”对象没有属性“check_for_Exception”错误。关于如何解决这个问题有什么想法吗?@JDx-您的函数名为check\u for\u exception
,但根据错误,您试图调用check\u for\u exception
(注意缺少的's')。但是,您的代码可能仍然无法正常工作,因为func
作为自己的参数传递给check\u以查找异常。这意味着您不应该调用self.func()
,而应该只调用func()
。