- 浏览: 346189 次
- 性别:
- 来自: 南京
文章分类
- 全部博客 (169)
- spring (20)
- java (44)
- ibatis (0)
- hibernate (6)
- struts (2)
- javascript (6)
- ajax (1)
- eclipse (4)
- 其他 (10)
- database (17)
- ibatis 分页 (7)
- xml (2)
- pl/sql (6)
- sql (4)
- apache (3)
- oracle (8)
- jdom (1)
- Open ModelSphere (1)
- 线程 (2)
- 多线程 (2)
- 查找文件 (1)
- Comparator (2)
- jxl (2)
- jquery (1)
- Flex (2)
- 非技术 (1)
- mysql (2)
- zxing (1)
- jdbc (1)
- Java内存 (1)
- editplus (1)
- log4j (1)
- sqlserver (2)
- base64 (1)
- Linux (4)
- Shell (2)
- 非技术共享 (1)
- 省市 (1)
- PowerDesigner (3)
- 观察者模式 (2)
- Servlet (1)
- 单点登录 (1)
- IO (1)
- tomcat (1)
- clob (1)
- html (1)
- jsp (2)
- JNative (1)
- WebService (2)
- Highcharts (1)
- Spring Security (1)
- ztree (1)
- Mongodb (3)
- sftp (1)
- SVN (1)
- openSUSE (1)
- Ubuntu (1)
- nio (1)
- springboot (1)
- java8 (1)
最新评论
-
wajjj:
[flash=200,200][url][img][list] ...
【JAVA】读取excel内容(兼容03和07格式) -
xurichusheng:
jjhe369 写道感谢分享!但是发现一个小问题,就是第13, ...
oracle 存储过程分页查询 -
jjhe369:
感谢分享!但是发现一个小问题,就是第13,14行的V_STAR ...
oracle 存储过程分页查询 -
飞天奔月:
为什么不用 Map<String, String> ...
读取.properties的内容,并将内容放入一个Map中 -
xurichusheng:
814687491 写道测试了一下,无法换行!你可以自定义自己 ...
使用google的zxing制作二维码
1、异常工具类
public abstract class JDBCExceptionUtils { public JDBCExceptionUtils() { } public static String buildMessage(String message, Throwable cause) { if (null != cause) { StringBuffer buf = new StringBuffer(); if (null != message && !"".equals(message)) { buf.append(message).append("; "); } buf.append("jdbc exception is ").append(cause); return buf.toString(); } else { return message; } } }
2、异常类
public class JDBCException extends Exception { /** * @Fields serialVersionUID : TODO */ private static final long serialVersionUID = 4520101166979175689L; public JDBCException(String msg) { super(msg); } public JDBCException(String msg, Throwable cause) { super(msg, cause); } public String getMessage() { return JDBCExceptionUtils.buildMessage(super.getMessage(), getCause()); } public Throwable getRootCause() { Throwable rootCause = null; for (Throwable cause = getCause(); cause != null && cause != rootCause; cause = cause.getCause()) { rootCause = cause; } return rootCause; } public Throwable getMostSpecificCause() { Throwable rootCause = getRootCause(); return ((Throwable) (rootCause == null ? this : rootCause)); } @SuppressWarnings("rawtypes") public boolean contains(Class exType) { if(exType == null) return false; if(exType.isInstance(this)) return true; Throwable cause = getCause(); if(cause == this) return false; if(cause instanceof JDBCException) return ((JDBCException)cause).contains(exType); do { if(cause == null) break; if(exType.isInstance(cause)) return true; if(cause.getCause() == cause) break; cause = cause.getCause(); } while(true); return false; } }
3、使用自定义异常
/**
* @Title: getConnection
* @Description: 取得与数据库的连接
* @return
* @author
*/
public Connection getConnection() throws JDBCException {
// 数据库连接
Connection conn = null;
try {
// 取得与数据库的连接
conn = DriverManager.getConnection(url, userName, password);
if (null != conn) {
// 设置事务隔离级别
conn.setTransactionIsolation(Connection.TRANSACTION_READ_COMMITTED);
}
} catch (SQLException e) {
throw new JDBCException("Get database connection failure.", e);
} catch (Exception e) {
throw new JDBCException("others exception.",e);
}
return conn;
}
/**
* @Title: closeConnection
* @Description: 关闭数据库连接
* @author
*/
public void closeConnection() throws JDBCException {
// 取得与数据库的连接
Connection conn = getConnection();
if (null != conn) {
try {
// 关闭连接
conn.close();
} catch (SQLException e) {
throw new JDBCException("close database connection failure.",e);
} catch (Exception e) {
throw new JDBCException("others exception.",e);
}
}
}
4、测试
public static void main(String[] args) { try { Connection conn = JDBCTools.getInstance().getConnection(); boolean bool = false; if (null != conn) { bool = conn.isClosed(); } else { bool = true; } if (!bool) { System.out.println("connect successfully"); } else { System.out.println("connect failure"); } JDBCTools.getInstance().closeConnection(); } catch (SQLException e) { e.printStackTrace(); } catch (JDBCException e){ System.out.println(e); } }
5、测试结果
com.java.common.exception.JDBCException: Get database connection failure.; jdbc exception is java.sql.SQLException: Listener refused the connection with the following error: ORA-12505, TNS:listener does not currently know of SID given in connect descriptor The Connection descriptor used by the client was: localhost:1521:orcl
发表评论
-
mysql树
2019-09-26 08:39 422mysql树 -
【JAVA】组织树
2019-09-04 10:17 1054JDK 版本:jdk 1.8 及以上。 1. ... -
多线程多批量插入大数据
2018-10-31 11:19 6413参考 https://blog.csdn.ne ... -
java 7 nio逐行读取文件内容
2015-12-26 23:33 5464nio逐行读取文件内容,使用 java 7. 首先,获取 ... -
java 6 IO读取txt文件内容
2015-12-26 23:24 883逐行读取。 首先获取文件的编码格式; 读取文件内容。 ... -
【JAVA】读取excel内容(兼容03和07格式)
2015-12-21 13:51 2184jar 包: poi-3.13.j ... -
一行代码去除List中的重复数据
2015-12-02 10:52 16741. 核心代码: List<String> ... -
将List中的对象中的字段的重复值删除
2015-12-01 11:10 2709如下面的对象 Subs,如果其属性 startSt 和 e ... -
jdk 官方下载地址
2015-11-06 10:00 1865http://www.oracle.com/techn ... -
jsp页面显示二进制图片
2014-11-05 15:58 40861. DAO层 import java.sql.C ... -
java中使用JNative调用dll方法
2014-03-03 16:02 5344使用JNative调用dll方法, dll 文件名 ... -
Vector排序
2013-05-08 10:17 15421. Vector 默认按元素的添加顺序排序 im ... -
使用观察者模式监听Map值的改变
2013-05-02 16:46 6212观察者(Observer)角色:为所有的具体观察者定 ... -
【转】一个比较快的Base64 编码/解码 算法
2013-03-28 17:50 1729转自: 中国开源社区 最快的 Base64 编码/解 ... -
jdbc 数据库连接池
2012-12-04 16:09 1519注:有些java类是JDK ... -
将查询结果导入excel 中
2012-06-29 11:14 12141. 数据库:oracle 10g2 JDK: ... -
使用Comparator做对象的排序
2012-06-15 18:15 1339之前在面试的时候,人家老是问怎么对对象进行排序。 虽然 ... -
【转】 模拟银行业务调度系统
2012-06-13 15:39 1212转自:CSDN,itm_hadf ... -
HttpClient 代理实例(Get方式) 线程
2012-01-10 14:23 1556使用的jar包: commons-codec-1.4.jar ... -
httpclient资料(自用)
2012-01-10 07:07 1091httpclient资料
相关推荐
Dubbo 提供了强大的异常处理机制,使得服务提供者能够向消费者传递自定义异常,从而帮助消费者更好地理解和处理服务调用中的错误情况。本文将深入探讨如何在 Dubbo 中捕获自定义异常,以及相关的最佳实践。 1. **...
自定义异常是Java异常处理的一部分,允许我们创建符合特定业务需求的异常类。下面我们将深入探讨Java自定义异常及其应用。 首先,自定义异常通常是通过扩展Java内置的`Exception`类或其子类来实现的。`Exception`类...
这时,我们就需要创建自定义异常来细化错误信息,以便更精确地表达和处理问题。本篇将深入探讨如何在C#中自定义异常以及其应用。 首先,自定义异常通常是通过继承`System.Exception`类或其派生类来实现的。`...
自定义异常是Java提供的一种机制,允许开发者创建特定于应用程序的异常类,以更精确地控制错误处理流程。本实例将深入探讨如何在Java中自定义异常。 首先,自定义异常通常继承自Java内置的`Exception`类或其子类,...
自定义异常是Java中的一种高级技巧,允许开发者创建符合特定应用需求的异常类。下面将详细解释如何在Java中自定义异常,并通过源代码实例进行说明。 一、自定义异常的必要性 在标准库中,Java已经提供了一套丰富的...
### 异常类:自定义异常类 #### 知识点概述 在程序设计中,异常处理是一项重要的机制,用于管理程序运行时可能发生的错误或意外情况。Java 提供了一套完整的异常处理机制,其中包括标准异常类以及允许开发人员...
在实际的Java开发项目中,自定义异常是提高代码可读性和可维护性的重要手段。异常处理是程序设计的关键部分,它有助于捕获并处理在程序执行过程中可能出现的错误或异常情况。Java提供了丰富的异常处理机制,包括预...
ORACLE 用户自定义异常小例子 1.进入pl/sql测试窗口 2.执行语句 declare empname varchar2(255); customize_exp EXCEPTION; –自定义异常 begin FOR c IN (select d.* from scott.dept d) ...
本文将基于给定的文件信息,深入解析“自定义异常类步骤”这一主题,涵盖异常处理的基本概念、自定义异常类的设计与实现,以及如何在实际代码中应用这些自定义异常。 ### 异常处理概述 异常处理是一种编程机制,...
Java自定义异常处理详细介绍,包括了很多比较经典的案例,可以自己研究自定义异常
### Java自定义异常类详解 #### 一、Java异常体系概览 在Java语言中,异常处理机制是一种用于处理程序运行时错误的重要机制。Java中的异常处理基于`java.lang.Throwable`类,它有两个重要的子类:`Exception`和`...
安卓APP自定义异常处理器,Release状态下意外奔溃提示更加友好(代替系统默认的那个讨厌的对话框),不影响Debug模式下LogCat的打印。 ************************************************************************ ...
自定义异常是Java异常处理的一部分,它允许我们根据特定的业务需求创建自己的异常类。下面将详细介绍如何在Java中定义和使用自定义异常。 首先,让我们了解Java异常的基本概念。Java中的异常是一种事件,它在程序...
Java SE程序 自定义异常类Java SE程序 自定义异常类Java SE程序 自定义异常类Java SE程序 自定义异常类Java SE程序 自定义异常类Java SE程序 自定义异常类Java SE程序 自定义异常类Java SE程序 自定义异常类Java SE...
### JAVA自定义异常类 #### 一、基本概念与应用场景 在Java编程中,异常处理是一种重要的机制,用于处理程序运行时可能出现的各种错误情况。Java提供了丰富的内置异常类,但有时候,内置的异常类可能不足以精确地...
Spring中,使用切面全局捕获异常的同时,进行自定义异常抛出捕获,方便代码书写。
本文将详细讲解如何实现自定义异常以及如何有效地利用Log4j进行日志管理。 首先,让我们来了解自定义异常。在Java中,当我们遇到特定的业务逻辑错误或需要更精确地捕获和处理错误时,我们可以创建自定义异常。...
### Oracle自定义异常知识点 #### 一、Oracle异常处理机制简介 在Oracle PL/SQL编程中,异常处理是一项非常重要的功能。它可以帮助开发者捕获并处理程序运行时可能发生的错误情况,确保应用程序能够稳定可靠地运行...
在深入探讨如何实现一个自定义异常类`IntegerException`之前,我们先理解一下在Java编程语言中异常处理的重要性。异常处理是程序设计中一个至关重要的部分,它允许程序员捕获和响应程序运行时可能发生的错误情况,...