我正在尝试使用following Fastload API
连接...等是完美的。
我确切地知道它失败的地方
...........
System.out.println(" Streaming " + dataFile);
pstmtFld.setAsciiStream(1, dataStream, -1); // This line fails
System.out.println("check the above line"); // This does not go to console
...........
例外是
Exception in thread "main" java.lang.IllegalStateException: Sample failed.
[ODBC Teradata Driver] Invalid precision: cbColDef value out of range
这是我要上传的表格。它是.csv
格式,当我通过记事本打开它时,它看起来像这样
1,9,Win
2,9,Winc
3,9,Wi
为什么我会收到此异常?我怎样才能改进它?据我所知,问题是pstmtFld.setAsciiStream(1, dataStream, -1);
不以某种方式接受数据集并抛出异常
答案 0 :(得分:30)
通常,IllegalStateException
用于表示“在非法或不适当的时间调用了某个方法”。但是,这看起来并不像是一种特别典型的用途。
您链接的代码显示它可以在第259行的代码中抛出 - 但仅在将SQLException
转储到标准输出之后。
我们无法从该异常中分辨出什么是错误的 - 更好的代码会将原始SQLException
用作“原因”异常(或者只是让原始异常在堆栈中传播) - 但是你应该能够看到标准输出的更多细节。查看该信息,您应该能够看到导致异常的原因并进行修复。
答案 1 :(得分:7)
非法状态异常是未经检查的例外。
它表示该方法已在错误的时间调用。
示例:
Thread t = new Thread();
t.start();
//
//
t.start();
输出:
Runtime Excpetion: IllegalThreadStateException
我们无法再次启动Thread,它将抛出IllegalStateException。
答案 2 :(得分:7)
package com.concepttimes.java;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class IllegalStateExceptionDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
List al = new ArrayList();
al.add("Sachin");
al.add("Rahul");
al.add("saurav");
Iterator itr = al.iterator();
while (itr.hasNext()) {
itr.remove();
}
}
}
IllegalStateException表示该方法在错误的时间被调用。 在下面的示例中,我们可以看到。在while循环中使用元素的同时调用remove()方法。
有关更多详细信息,请参阅以下链接。 http://www.elitmuszone.com/elitmus/illegalstateexception-in-java/
答案 3 :(得分:0)
public class UserNotFoundException extends Exception {
public UserNotFoundException(String message) {
super(message)