对象初始化 - 如何处理错误

时间:2012-05-19 21:11:30

标签: oop design-patterns

  

可能重复:
  Throwing exceptions from constructors

初始化对象时 - 处理问题的正确方法是什么,这些问题会阻止对象在以后履行其所有职责。

例如,假设构造函数初始化一组用于远程连接的配置变量。并非所有配置变量都已正确设置,因此稍后,当该对象用于该连接时,它将无法正常工作并最终抛出异常。

我可以想到这个的几个解决方案

  1. 构造函数在那里抛出异常然后
  2. 该对象提供了一种验证配置设置的方法(这意味着该对象的客户端在使用前具有检查有效状态的附加任务)
  3. 只需保持原样,并抛出任何异常,让客户在出现时处理它们。
  4. 那么,这些选项中哪一个被认为是所提供方案中的最佳方法,或者如果有另一种更好的方法来处理它,那将是什么。

1 个答案:

答案 0 :(得分:1)

绝对抛出异常。它非常抽象你的处理。

它允许您以任何您想要的方式处理它,包括(但不限于):

  • 设置变量以确定对象中启用了哪些功能,哪些功能未启用。
  • 在所述对象上调用方法。
  • 向用户显示错误
  • 调用某种错误记录

如果不处理,Exceptions会终止脚本,为您提供详细的调试回溯,说明出现了什么问题。