`
bd2007
  • 浏览: 385991 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论

构造器异常处理

    博客分类:
  • java
阅读更多
    某些单例模式中的实例需要通过外部资源,如文件,jndi对象进行初始化。
此时可能出现初始化异常,而构造器中不能抛出异常,因此需通过标志位等其它方式进行处理。
 
果断上代码,有码有真相
 
1.实例
 
package com.siyuan.jdktest;
import java.io.fileinputstream;<br>import java.io.filenotfoundexception;
public class constructorexptest {<br> <br> private static constructorexptest instance;<br> <br> private static boolean inited;<br> <br> private static initexception initexp;<br> <br> private constructorexptest(string path) {<br>  try {<br>   init(path);<br>   inited = true;<br>  } catch (initexception e) {<br>   initexp = e;<br>  }<br> }<br> <br> private void init(string path) throws initexception {<br>   try {<br>    fileinputstream finput = new fileinputstream(path);<br>   } catch (filenotfoundexception e) {<br>    throw new initexception("error in constructorexptest init...", e);<br>   }
 }<br> <br> public static final constructorexptest getinstance(string path) throws initexception{<br>  if (instance == null) {<br>   instance = new constructorexptest(path);<br>  }<br>  if (!inited) {<br>   throw initexp;<br>  }<br>  return instance;<br> }<br> <br> /**<br>  * @param args<br>  * @throws initexception <br>  */<br> public static void main(string[] args) throws initexception {<br>  // todo auto-generated method stub<br>  system.out.println(constructorexptest.getinstance("asdfs"));<br> }
}
class initexception extends exception {<br> <br> public initexception() {<br>  <br> }<br> <br> public initexception(string msg) {<br>  super(msg);<br> }<br> <br> public initexception(throwable cause) {<br>  super(cause);<br> }
 public initexception(string msg, throwable cause) {<br>  super(msg, cause);<br> }<br> <br>}
 
0
4
分享到:
评论

相关推荐

    【09-异常处理】

    •异常处理嵌套的深度没有很明确的限制,但通常没有必要使用超过两层的嵌套异常处理,层次太深的 嵌套异常处理没有太大必要,而且导致程序可读性降低。 Java 7的自动关闭资源的try语句 –try( – // ...

    C++ 编程思想 象的演化、数据抽象、隐藏实现、初始化与清除、函数重载与缺省参数、输入输出流介绍、常量、内联函数、命名控制、引用和拷贝构造函数、运算符重载、动态对象创建、继承和组合、多态和虚函数、模板和包容器类、多重继承、异常处理和运行时类型识别

    内容涉及对象的演化、数据抽象、隐藏实现、初始化与清除、函数重载与缺省参数、输入输出流介绍、常量、内联函数、命名控制、引用和拷贝构造函数、运算符重载、动态对象创建、继承和组合、多态和虚函数、模板和包容器...

    水文长观孔水位异常原因分析与处理方案

    该孔周围1 000 m范围内没有回采的工作面,周围也没有能够引起水位异常的较大地质构造。为查明11补-2奥灰孔水位异常原因,恢复该孔的奥灰水位监测功能,通过重新下设1路DN80套管并使用水泥浆封闭DN80新套管和原DN100老...

    编程思想下篇

    5.4.1 在构造器中调用构造器 5.4.2 static的含义 5.5 清理:终结处理和垃圾回收 5.5.1 finalize()的用途何在 5.5.2 你必须实施清理 5.5.3 终结条件 5.5.4 垃圾回收器如何工作 5.6 成员初始化 5.6.1 指定初始化 5.7 ...

    C#本质论(第3版)

    5.7.5 使用this调用另一个构造器 5.8 静态成员 5.8.1 静态字段 5.8.2 静态方法 5.8.3 静态构造器 5.8.4 静态属性 5.8.5 静态类 5.9 扩展方法 5.10 封装数据 5.10.1 const 5.10.2 readonly 5.11 嵌套类 ...

    Thinking in java4(中文高清版)-java的'圣经'

    5.3 缺省构造器 5.4 this关键字 5.4.1 在构造器中调用构造器 5.4.2 static的含义 5.5 清理:终结处理和垃圾回收 5.5.1 finalize()的用途何在 5.5.2 你必须实施清理 5.5.3 终结条件 5.5.4 垃圾回收器如何工作 5.6 ...

    Java语音学习,基础教程

    掌握面向对象编程:了解类和对象的概念,学会封装、继承和多态,并理解构造器、super和this关键字的用法,以及接口和抽象类的概念和权限修饰符。 熟悉常用API:包括Date、DateFormat、Calendar、System和...

    java 二次封装jedis,无需配置,开箱即用。easyJedis-1.0.1.jar

    对于jedis的二次封装,所有方法都从简调用,jar包引入到项目,默认构造器会扫描配置文件,读取redis参数,也可以通过构造器自定义参数,所有的异常处理,类型转换和锁控制都处理好了,还有对于map,bean对象,数组的...

    C#5.0本质论第四版(因文件较大传的是百度网盘地址)

    5.7.5 构造器链:使用this调用另一个构造器 168 5.8 静态成员 172 5.8.1 静态字段 172 5.8.2 静态方法 174 5.8.3 静态构造器 175 5.8.4 静态属性 176 5.8.5 静态类 177 5.9 扩展方法 ...

    Java复习题及答案

    3、所有类至少有一个构造器,构造器用来初始化类的新对象,构造器与类同名,返回类型只能为void。 ( ) 4、包是按照目录、子目录存放的,可以在程序中用package定义包,若没有package一行,则表示该文件中的类不...

    java实验报告.docx

    构造器应用 16 实验五 Java访问控制管理;封装类;内部类; 内存管理与垃圾收集 8 实验六 Java 异常处理的程序设计;Java 自定义异常的程序设计 13 实验七 Java 多线程程序设计应用 1 实验八 Java 泛型程序设计应用 ...

    Python学习手册_第3版

    学习Python的主要内建对象类型:数字、列表和字典。使用Python语句创建和处理对象,并且学习...学习异常处理模型,以及用于编写较大程序的开发工具。了解高级Python工具,如装饰器、描述器、元类和Unicode处理等。

    Python学习手册(第4版)

    学习Python的主要内建对象类型:数字、列表和字典。 使用Python语句创建和处理对象,并且学习...学习异常处理模型,以及用于编写较大程序的开发工具。 了解包括装饰器、描述器、元类和Unicode处理等高级Python工具。

    Python学习手册(原书第4版)

    学习Python的主要内建对象类型:数字、列表和字典。使用Python语句创建和处理对象,并且学习...学习异常处理模型,以及用于编写较大程序的开发工具。了解高jiPython工具,如装饰器、描述器、元类和Unicode处理等。

    FastDFS分布式搭建

    《Python学习手册(第4版)》学习Python的主要内建对象类型:数字、列表和字典。...学习异常处理模型,以及用于编写较大程序的开发工具。了解高级Python工具,如装饰器、描述器、元类和Unicode处理等。

    CloudStack二次开发帮助文档

    公用构造器 20 6.4.3. 组件自主初始化 20 6.4.4. 运行时注入 21 6.4.5. CloudStack定制化AOP(面向切面的编程) 21 6.4. 6. 可插拔适配器 24 6.4.7. 模块和组件 26 6.4.8. 什么时候用或者不用@Inject 28 6.5. 组件...

    21天学通Java-由浅入深

    202 10.3.3 父子类间的构造器的调用流程 204 10.3.4 如何自定义构造器 207 10.4 什么是单子模式 208 10.5 构造器在程序中是何时运行的 211 10.6 综合练习 214 10.7 小结 215 10.8 习题 215 第11章 异常处理(精彩...

    基于PCA和随机树的数据库异常访问检测算法

    基于事务处理性能委员会( TransacTIon Processing Performance Council,TPC)组织发布的新代数据库性能评测标准TPCE构造实验数据集,提取较为全面的用户数据库访问行为轮廓特征向量。仿真实验结果表明,使用PCA...

Global site tag (gtag.js) - Google Analytics