什么是IllegalStateException?

时间:2013-11-23 23:17:43

标签: java illegalstateexception

我正在尝试使用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);不以某种方式接受数据集并抛出异常

4 个答案:

答案 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)