web-dev-qa-db-fra.com

Qu'est-ce que IllegalStateException?

J'essaie d'utiliser le suite à l'API Fastload

connexion ... etc est parfait.


Je sais exactement où ça échoue

 ...........
 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
 ...........

L'exception est

Exception in thread "main" Java.lang.IllegalStateException: Sample failed.

[ODBC Teradata Driver] Invalid precision: cbColDef value out of range


Voici mon tableau que j'essaye de télécharger. C'est un format .csv Et quand je l'ouvre via le bloc-notes, il ressemble à ceci

1,9,Win
2,9,Winc
3,9,Wi

Pourquoi ai-je cette exception? Comment puis-je l'améliorer? Autant que je sache, le problème est que pstmtFld.setAsciiStream(1, dataStream, -1); n'accepte pas le jeu de données d'une manière ou d'une autre et lève une exception.

24
Borat Sagddiev

Généralement, IllegalStateException est utilisé pour indiquer "qu'une méthode a été invoquée à une heure illégale ou inappropriée". Cependant, cela ne ressemble pas à une utilisation particulièrement typique de celui-ci.

Le code que vous avez lié indique qu'il peut être jeté dans ce code à la ligne 259 - mais seulement après avoir vidé un SQLException sortie standard.

Nous ne pouvons pas dire ce qui ne va pas seulement avec cette exception - et un meilleur code aurait utilisé l'original SQLException comme exception "cause" (ou simplement laisser l'exception d'origine propagée dans la pile) - mais vous devriez pouvoir pour voir plus de détails sur la sortie standard. Regardez cette information et vous devriez pouvoir voir la cause de l'exception et la corriger.

31
Jon Skeet
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 indique que cette méthode a été invoquée au mauvais moment. Dans cet exemple ci-dessous, nous pouvons le voir. La méthode remove () est appelée en même temps que l'élément est utilisé dans la boucle while.

Veuillez vous référer au lien ci-dessous pour plus de détails. http://www.elitmuszone.com/elitmus/illegalstateexception-in-Java/

8
Kundan

Exception d'état illégal est une exception non contrôlée.

Cela indique que la méthode a été invoquée au mauvais moment.

exemple:

Thread t = new Thread();
t.start();
//
//
t.start();

sortie:

Runtime Excpetion: IllegalThreadStateException

Nous ne pouvons pas recommencer le thread, il lancera IllegalStateException.

7
Raman Gupta