首页 新闻 会员 周边 捐助

提供异常类的其它方法

0
[已关闭问题] 关闭于 2025-08-29 14:53
class MyError(Exception):
    def __init__(self, line, file):
        self.line = line
        self.file = file

    def logerr(self):
        with open('Error.log', 'a') as logfile:
            print(self, file=logfile)

    def __str__(self):
        return "format failed: %s at %s" % (self.file, self.line)

def format():
    raise MyError(42, "a.json")

try:
    format()
except MyError as E:
    E.logerr()
_java_python的主页 _java_python | 小虾三级 | 园豆:984
提问于:2025-08-29 14:50
< >
分享
所有回答(1)
0
def logerr(self):
        with open('Error.log', 'a') as logfile:
            print(self, file=logfile),这里的print会自动调用下面的__str__美化,print底层用了str(),直接调用对象的__str__

def __str__(self):
return "format failed: %s at %s" % (self.file, self.line)

 

_java_python | 园豆:984 (小虾三级) | 2025-08-29 14:53
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册