什么是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 ...........
例外是
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);
不以某种方式接受数据集并抛出exception
通常, IllegalStateException
用于指示“在非法或不适当的时间调用了一个方法”。 然而,这看起来并不像它的特别典型的用途。
您链接的代码显示它可以在第259行的代码中抛出 – 但仅在将SQLException
转储到标准输出之后。
我们无法从该exception中分辨出什么是错的 – 更好的代码会将原始的SQLException
用作“原因”exception(或者只是让原始exception在堆栈中传播) – 但是你应该能够看到更多关于标准输出。 查看该信息,您应该能够看到导致exception的原因并进行修复。
非法状态exception是未经检查的exception。
它表明该方法已在错误的时间调用。
例:
Thread t = new Thread(); t.start(); // // t.start();
输出:
Runtime Excpetion: IllegalThreadStateException
我们无法再次启动Thread,它将抛出IllegalStateException。
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/