Posted on
2007-07-20 18:10带你去月球
阅读(301)
评论(0)
收藏举报
前面的方法有个缺点,需要程序员检查8etsPo01凹方法的返回值,以确保它不是空的 员始终记得去检查错误的设想是招致失败的开始,应该尽力避免。 我们换种方法做,创建一个这样的类,如果试图多次实例化该类,它会抛出一个异常 需要程序员采取行动,因而这是一个安全的方法。这里先为这个例子创建自己的异常类。 蜕:e2摇絮露慧,:n‘紫害絮s丫;:美 注意,除了通过ba肥调用了父类的构造函数外,新的异常类实际上什么也没做。尽管如此, 有自己命名的异常类还是很方便的;在我们创建—个sp叨1既的实例时,如果抛出了这种类型日 常,系统会警告我们。 11.3抛出异常 接下来给出比航spMlM类的框架。这里略去了所有的打印方法,只集中于正确实现单件模 public c La3s 5pooLer ( s Lat 2c bool lnstance一5lag ‘ false; //t2ue lf one lnstance public sPooLerl) I lf (instance—flag) throw nev SlngletDnEXcePtionI ”0nly one PrInter alloved,,); e15e Lnst6nce—flag!t2ue; //set flag Console*Nr2:eL2ne (”PrLnter oPened“’);