📄 smallsqlexception.java
字号:
/* =============================================================
* SmallSQL : a free Java DBMS library for the Java(tm) platform
* =============================================================
*
* (C) Copyright 2004-2006, by Volker Berlin.
*
* Project Info: http://www.smallsql.de/
*
* This library is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation; either version 2.1 of the License, or
* (at your option) any later version.
*
* This library is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
* License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
* USA.
*
* [Java is a trademark or registered trademark of Sun Microsystems, Inc.
* in the United States and other countries.]
*
* ---------------
* SmallSQLException.java
* ---------------
* Author: Volker Berlin
*
*/
package smallsql.database;
import java.sql.*;
import java.io.*;
/**
* @author Volker Berlin
*
*/
class SmallSQLException extends SQLException {
private static final long serialVersionUID = -1683756623665114L;
private boolean isInit;
/**
*
*/
SmallSQLException(Throwable throwable) {
super( "[SmallSQL]" + getMsg(throwable), "01000", 0);
super.initCause(throwable);
init();
}
SmallSQLException(String msg, String sqlState, int vendorCode) {
super( "[SmallSQL]" + msg, sqlState, vendorCode);
init();
}
private void init(){
this.isInit = true;
PrintStream ps = DriverManager.getLogStream();
if(ps != null) this.printStackTrace(ps);
}
private static String getMsg(Throwable throwable) {
String msg = throwable.getMessage();
if(msg == null || msg.length() < 20){
String msg2 = throwable.getClass().getName();
msg2 = msg2.substring(msg2.lastIndexOf('.')+1);
if(msg != null)
msg2 = msg2 + ':' + msg;
return msg2;
}
return throwable.getMessage();
}
public void printStackTrace(){
if(!isInit) return;
super.printStackTrace();
}
public void printStackTrace(PrintStream ps){
if(!isInit) return;
super.printStackTrace(ps);
}
public void printStackTrace(PrintWriter pw){
if(!isInit) return;
super.printStackTrace(pw);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -