Qu'est-ce que l'exception IllegalStateException?
Je suis en train d'utiliser le suivant Fastload API
connexion ... etc est parfait.
Je sais exactement où il é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
...........
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 je suis en train de télécharger. C'est un .csv
format, et quand je l'ouvre via le bloc-notes ressembler à ceci
1,9,Win
2,9,Winc
3,9,Wi
Pourquoi cette exception? Comment puis-je l'améliorer? Autant je comprends le problème, c'est pstmtFld.setAsciiStream(1, dataStream, -1);
ne pas accepter le jeu de données en quelque sorte, et de lever une exception
- J'ai l'habitude de jeter un
IllegalStateException
chaque fois que j'attrape quelque chose qui "ne peut pas se faire" et il n'y a pas d'autre-descriptif type d'exception que je peux la jeter. Par exemple, dis-je écrire le code pour afficher une image, et l'image a une largeur négative - de jeter tout le reste serait le pire, donc je peux écrire mon propre décoché exception (pratique recommandée, mais alors vous pouvez envisager de faire un checked exception au lieu de cela), ou utiliser le haut-IllegalStateException
un. - Selon docs.oracle.com/javase/7/docs/api/java/sql/..., est-il possible que la longueur du fichier (-1) est la cause?
Vous devez vous connecter pour publier un commentaire.
Généralement,
IllegalStateException
est utilisé pour indiquer que "une méthode a été invoqué au illégale ou inappropriée de temps." Toutefois, cela ne ressemble pas à un particulier typique de l'utiliser.Le code que vous avez lié à montre qu'il peut être jeté l'intérieur de ce code à la ligne 259 - mais seulement après le vidage de la
SQLException
la sortie standard.Nous ne pouvons pas dire quel est le problème viens de cette exception et un code de meilleure qualité aurait utilisé l'original
SQLException
comme une "cause" l'exception " (ou tout simplement laisser l'original exception propagée vers le haut de la pile) - mais vous devriez être capable de voir plus de détails sur la sortie standard. Regardez cette information, et vous devriez être capable de voir ce qui a causé l'exception, et de le corriger.standard output
?System.out
- le flux de sortie standard à partir de votre processus, généralement écrit pour une console si il y a un joint, ou souvent représenté comme un fichier de log dans un processus côté serveur. Comme nous ne savons pas comment vous exécutez le code, il est difficile de vous dire où chercher.pstmtFld.setAsciiStream(1, dataStream, -1);
ne s'exécute pasIllégale de l'État d'Exception est Décochée exception.
Indique que la méthode a été appelée au mauvais moment.
exemple:
de sortie:
Nous ne pouvons pas démarrer le Thread de nouveau, il va jeter l'exception IllegalStateException.
IllegalStateException signaux que la méthode a été appelée au mauvais moment.
Dans cet exemple ci-dessous, nous pouvons voir que. méthode remove() est appelée en même temps l'élément est utilisé dans la boucle while.
Veuillez consulter le lien ci-dessous pour plus de détails.
http://www.elitmuszone.com/elitmus/illegalstateexception-in-java/