
如图,这是一个类的部分定义,我的问题是如果try中的语句执行失败之后能否终止对象的实例化过程,然后返回错误,因为如果不能终止的话,那么程序在执行了except的语句过后,会继续执行之后的语句,即继续实例化其它的方法,这时候就会在中途报错,即使我在另一个文件里这样调用,程序也会在类的定义里的self.conn.close()位置处报错,提示self.conn未定义
所以请问,Python怎样才能终止对象的实例化过程呢,其它面向对象的语言是不是也有类似的功能
** import ConnectSQL
try:
self.Login = ConnectSQL.ConnectSQL()
except:
print '网络无法连接'**
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
有两种方案:
或者:@contextmanager
用法类似于 with xxx as x:pass
注意如果要确定一定要终止类里面的实例,采用__del__进行垃圾回收。
我觉得连接数据库这个操作最好能单独列出一个函数类似这样,没有必要去终止对象的实例化
最好抛个异常出去,连接不上直接中断