Bor*_*iev 26 java illegalstateexception
我正在尝试使用以下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
...........
Run Code Online (Sandbox Code Playgroud)
例外是
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
Run Code Online (Sandbox Code Playgroud)
为什么我会得到这个例外?我怎样才能改进它?据我所知,问题是pstmtFld.setAsciiStream(1, dataStream, -1);不能以某种方式接受数据集并抛出异常
Jon*_*eet 32
通常,IllegalStateException用于表示"在非法或不适当的时间调用了一种方法".然而,这看起来并不像它的特别典型的用途.
您链接的代码显示它可以在第259行的代码中抛出- 但只有在转储SQLException到标准输出之后.
我们无法从该异常中分辨出什么是错误的 - 更好的代码会将原始代码用作SQLException"原因"异常(或者只是让原始异常在堆栈中传播) - 但是您应该能够看到标准的更多细节输出.查看该信息,您应该能够看到导致异常的原因并进行修复.
小智 8
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();
}
}
}
Run Code Online (Sandbox Code Playgroud)
IllegalStateException表示在错误的时间调用了该方法.在下面的例子中,我们可以看到.在while循环中使用元素的同时调用remove()方法.
有关详细信息,请参阅以下链接. http://www.elitmuszone.com/elitmus/illegalstateexception-in-java/
非法状态异常是未经检查的异常.
它表明该方法已在错误的时间调用.
例:
Thread t = new Thread();
t.start();
//
//
t.start();
Run Code Online (Sandbox Code Playgroud)
输出:
Runtime Excpetion: IllegalThreadStateException
Run Code Online (Sandbox Code Playgroud)
我们无法再次启动Thread,它将抛出IllegalStateException.
| 归档时间: |
|
| 查看次数: |
173772 次 |
| 最近记录: |