Python 提出异常时,如何计算异常数?

Python 提出异常时,如何计算异常数?,python,Python,我是一名编程初学者,由于我现在正在做一个练习,所以我在基本的异常方面遇到了一些问题 该练习分为两部分: A部分: 我需要创建一个名为ExceptionCounter的类,该类包含一个实例变量num_exceptions,它从0开始。ExceptionCounter还有一个方法,它采用一个参数,一个函数(除了通常的self)。check_for_exception调用函数(不带参数),并在引发任何异常时递增num_exception 除了“如果引发任何异常”部分之外,我已经记下了代码的基本内容。我

我是一名编程初学者,由于我现在正在做一个练习,所以我在基本的异常方面遇到了一些问题

该练习分为两部分:

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()