Oop 对象初始化-如何处理错误
可能重复:Oop 对象初始化-如何处理错误,oop,design-patterns,Oop,Design Patterns,可能重复: 当初始化一个对象时-什么是正确的方法来处理一个问题,这个问题将阻止对象在以后完成它的所有职责 例如,假设构造函数初始化用于远程连接的一组配置变量。并不是所有的配置变量都已正确设置,因此,当对象用于该连接时,它将无法工作,并最终引发异常 我可以想出几个解决办法 构造函数在那里抛出异常,然后 该对象提供了一种验证配置设置的方法(这意味着该对象的客户端在使用之前有检查有效状态的附加任务) 只需保持原样,并允许抛出任何异常,让客户机在出现异常时处理它们 那么,在所提供的场景中,这些选项中的
当初始化一个对象时-什么是正确的方法来处理一个问题,这个问题将阻止对象在以后完成它的所有职责 例如,假设构造函数初始化用于远程连接的一组配置变量。并不是所有的配置变量都已正确设置,因此,当对象用于该连接时,它将无法工作,并最终引发异常 我可以想出几个解决办法
那么,在所提供的场景中,这些选项中的哪一个被认为是最好的方法,或者如果有其他更好的方法来处理这个问题,那会是什么呢。肯定会抛出一个异常。它使你的处理变得如此抽象 它允许您以任何方式处理它,包括(但不限于):
- 设置一个变量以确定对象中哪些功能已启用,哪些功能未启用
- 对所述对象调用一个方法
- 向用户显示错误
- 调用某种错误日志记录
如果不进行处理,异常将终止脚本,为您提供出错原因的详细调试回溯。取决于语言和传递配置变量的方式。您的变量集可能是一个类的实例,比如适配器,让适配器验证配置变量并抛出一些东西,不是初始值设定项本身。因此,如果配置值未正确设置,则建议从构造函数中引发异常,该配置值将在以后使对象完全运行所需。如果您知道出现问题,则一定会引发异常/,最有可能是在构造函数中。@user1189880:异常情况下应抛出异常。例外情况是指并非一切都按计划进行的情况。(您希望数据库能够连接,但出现了问题,因此失败。您抛出了一个异常)。很有可能,如果事情没有按计划进行,它会影响物体以后的能力。