Throwing exceptions in threads

I made a thread class that uses a BufferedReader object wrapped in a InputStream and Socket object inside the run() method that uses the command this.input.readline().
The only problem is that in order to use this method, I need to throw java.io.IOException. When I try and do this, it says:
"The method void run() declared in class InputThread cannot overide the method of the same signature declared in class java.land.Thread. Their throws clauses are incompatible."
Here is my original code:
class InputThread extends Thread {
     BufferedReader input;
     public InputThread(BufferedReader input) {
          this.input = input;
     public void run() {
          String intext = "";
          while (true) {
               intext = this.input.readLine();
               if (intext != "") {
                    System.out.println("Thread received: " + intext);
}How can I still use the this.input.readLine() function in the InputThread class?
(I already tried "public void run() throws java.io.IOException {")
Thanks!

The run method should handle all exceptionn that could occur in the
contained code. There's als no point in propagating a (checked) exception
to a higher level by wrapping it in an unchecked exception like RuntimeException
which is not commited to be declared in the throws clause.
So ...
public void run() {   
   try {
   } catch (Exception ex) {
      throw new RuntimeException("bla", ex);
} ...would compile. BUT where would you catch the exception??? Don't be mistaken,
but the exception is never propagated to the code that started the thread!!!
Threads are the end points for exceptions because they run parallel to other code.
In my opinion the best and most correct code would be:
class InputThread extends Thread {
     BufferedReader input;
     public InputThread(BufferedReader input) {
          this.input = input;
     public void run() {
          String intext = "";
          try {
              while (true) {
               intext = this.input.readLine();
               if (intext != "") {
                    System.out.println("Thread received: " + intext);
                } catch (IOEXception ex) {
                    // log exception and die gracefully
}

Similar Messages

  • How to throw Exception in Thread.run() method

    I want to throw exception in Thread.run() method. How can I do that ?
    If I try to compile the Code given below, it does not allow me to compile :
    public class ThreadTest {
         public static void main(String[] args) {
         ThreadTest.DyingThread t = new DyingThread();
         t.start();
         static class DyingThread extends Thread {
         public void run() {
         try {
                   //some code that may throw some exception here
              } catch (Exception e) {
              throw e;//Want to throw(pass) exception to caller
    }

    (a) in JDK 1.4+, wrap your exception in RuntimeException:
    catch (Exception e)
    throw new RuntimeException(e);
    [this exception will be caught by ThreadGroup.uncaughtException() of this thread's parent thread group]
    In earlier JDKs, use your own wrapping unchecked exception class.
    (b) if you know what you are doing, you can make any Java method throw any exception using Thread.stop(Throwable) regardless of what it declares in its "throws" declaration.

  • Throw exceptions from threads?

    Is it possible to throw exceptions from threads since I can't add the throws statement to the run method I don't know how I could do it...
    Any help greatly appriciated!
    Cya

    Is it possible to throw exceptions from threads since
    I can't add the throws statement to the run method I
    don't know how I could do it...
    Any help greatly appriciated!
    CyaYou can't throw checked exceptions, because obviously the code responsible for invoking the run() method wouldn't know what to do with it, and you wouldn't be the one to catch them. You can however throw unchecked exceptions (such as those based on RuntimeException).

  • Keytool throwing  Exception in thread "main" java.lang.OutOfMemoryError:

    Hello all.
    I am unable to run keytool as it throws the following error. I am running Vista(x86),JDK 1.6 with a system with 4G of ram.
    Any idea's how i would solve this? I have tried installing other JDK's with the same results.
    Thanks in advance.
    C:\Users\Gav>"c:\Program Files\Java\jdk1.6.0_07\bin"\keytool -genkey -alias andr
    oiddebugkey -keyalg RSA -validity 365 -keypass android -keystore debug.keystore
    -storepass android
    What is your first and last name?
      [Unknown]:  a
    What is the name of your organizational unit?
      [Unknown]:  b
    What is the name of your organization?
      [Unknown]:  c
    What is the name of your City or Locality?
      [Unknown]:  d
    What is the name of your State or Province?
      [Unknown]:  e
    What is the two-letter country code for this unit?
      [Unknown]:  fs
    Is CN=a, OU=b, O=c, L=d, ST=e, C=fs correct?
      [no]:  yes
    Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
            at java.io.WinNTFileSystem.list(Native Method)
            at java.io.File.list(File.java:973)
            at sun.security.provider.SeedGenerator$1.run(SeedGenerator.java:166)
            at java.security.AccessController.doPrivileged(Native Method)
            at sun.security.provider.SeedGenerator.getSystemEntropy(SeedGenerator.java:146)
            at sun.security.provider.SecureRandom.engineNextBytes(SecureRandom.java:170)
            at java.security.SecureRandom.nextBytes(SecureRandom.java:433)
            at java.math.BigInteger.randomBits(BigInteger.java:475)
            at java.math.BigInteger.<init>(BigInteger.java:464)
            at java.math.BigInteger.largePrime(BigInteger.java:596)
            at java.math.BigInteger.probablePrime(BigInteger.java:538)
            at sun.security.rsa.RSAKeyPairGenerator.generateKeyPair(RSAKeyPairGenerator.java:105)
            at java.security.KeyPairGenerator$Delegate.generateKeyPair(KeyPairGenerator.java:656)
            at sun.security.x509.CertAndKeyGen.generate(CertAndKeyGen.java:131)
            at sun.security.tools.KeyTool.doGenKeyPair(KeyTool.java:1156)
            at sun.security.tools.KeyTool.doCommands(KeyTool.java:786)
            at sun.security.tools.KeyTool.run(KeyTool.java:172)
            at sun.security.tools.KeyTool.main(KeyTool.java:166)

    See http://bugs.sun.com/bugdatabase/view_bug.do;?bug_id=6474350
    It seems that one way used by SecureRandom to gather entropy is to scan the directory pointed at by java.io.tmpdir. If it is very full, it runs out of memory. Clean you Local Settings\Temp directory.

  • Why throw exception in main thread

    A very simple example
    public class ExceptionTest {
      public static void main(String[] args) throws StupidException {
       int i = 0;
       if (i == 0)
          throw new StupidException():
    public class StupidException {
      public StupidException() {}
    }

    Umm, one of us is missing something here. My only question is "What are you surprised about?" You have the line
    throw new StupidException();and you don't catch that exception anywhere, so of course the program is going to exit that way. You explicitly told main to throw an exception and it did it.
    Sorry, not trying to sound snotty or anything. I guess I still just don't know what you're asking.
    >
    class ExceptionTest {
    public static void main(String[] args) throws
    StupidException {
    int i = 0;
    if (i == 0)
    throw new StupidException();
    class StupidException extends Exception {
    public StupidException() {
    System.out.println("Da. This is a stupid
    d exception!");
    }The error that occurs during runtime, along with
    expected output, is the following:
    Da. This is a stupid exception!
    StupidException
    at ExceptionTest.main(ExceptionTest.java:7)
    Exception in thread "main"
    Process completed.
    Okay. Now the question again will be "Why is this
    runtime error thrown?" It is possible for the main
    method to throw an IOException. This is a common
    throwable.It's possible for main to throw any throwable you tell it to.
    >
    It is true that a try/catch can handle this. But then
    again creating an exception package for a full
    application makes could use of the write once/use
    anywhere dictum.I have no idea what you're talking about here. What do you mean "an exception package for a full application"? and what does that have to do with write one, run anywhere?
    >
    Anyone able to naildown the conflict with the runtime
    system?What conflict would that be.

  • Exception in thread

    Hello,
    The problem is inside the method "chamaConversor".
    " conversor.pdfToText(arquivoPdf,arquivoTxt);" make a file.txt from one file.pdf. After that it don?t return the control to "ConstrutorDeTemplate2.java", and show the following error message:
    Exception in thread "AWT-EventQueue-O" java.lang.NoClassDefFoundError : org/fontbox/afm/FontMetric
    at org.pdfbox.pdmodel.font.PDFont.getAFM (PDFont.java:334)
    I am using the NetBeans IDE 5.5.
    I have added all of these libraries below to my project from c:\Program Files\netbeans-5.5\PDFBox-0.7.3\external:
    * FontBox-0.1.0-dev.jar
    * ant.jar
    * bcmail-jdk14-132.jar
    * junit.jar
    * bcprov-jdk14-132.jar
    * lucene-core-2.0.0.jar
    * checkstyle-all-4.2.jar
    * lucene-demos-2.0.0.jar
    and PDFBox-0.7.3.jar from c:\Program Files\netbeans-5.5\PDFBox-0.7.3\lib.
    There are no more jar from PDFBox-0.7.3 directory.
    All of these libraries are in "Compile-time Libraries" option in Project Properties. Should I add they to "Run-time Libraries" option?
    What is going on?
    Thank you!
      * ConstrutorDeTemplate2.java
      * Created on 11 de Agosto de 2007, 14:54
      * @author
    package br.unifacs.dis2007.template2;
    // Java core packages
    import java.awt.*;
    import java.awt.event.*;
    import java.io.*;
    import java.text.*;
    import java.util.*;
    // Java extension packages
    import javax.swing.*;
    import org.pdfbox.*;
    public class ConstrutorDeTemplate2 extends JFrame
        implements ActionListener {
        private JTextField enterField;
        private JTextArea outputArea;
        private BufferedWriter out;
        private String word;
        private PdfToText conversor = new PdfToText();
        // ajusta a interface do usu?rio
        public ConstrutorDeTemplate2()
           super( "Testing class File" );
           enterField = new JTextField("Digite aqui o nome do arquivo :" );
           enterField.addActionListener( this );
           outputArea = new JTextArea();
           ScrollPane scrollPane = new ScrollPane();
           scrollPane.add( outputArea );
           Container container = getContentPane();
           container.add( enterField, BorderLayout.NORTH );
           container.add( scrollPane, BorderLayout.CENTER );
           setSize( 400, 400 );
           show();
        // Exibe as informa??es sobre o arquivo especificado pelo usu?rio
        public void actionPerformed( ActionEvent actionEvent )
           File name = new File( actionEvent.getActionCommand() );
           // Se o arquivo existe, envia para a sa?da as informa??es sobre ele
           if ( name.exists() ) {
              outputArea.setText(
                 name.getName() + " exists\n" +
                 ( name.isFile () ?
                    "is a file\n" : "is not a file\n" ) +
                 ( name.isDirectory() ?
                    "is a directory\n" : "is not a directory\n" ) +
                 ( name.isAbsolute() ? "is absolute path\n" :
                    "is not absolute path\n" ) +
                 "Last modified: " + name.lastModified() +
                 "\nLength: " + name.length () +
                 "\nPath: " + name.getPath() +
                 "\nAbsolute path: " + name.getAbsolutePath() +
                 "\nParent: " + name.getParent() );
              // informa??o de sa?da se "name" ? um arquivo
              if ( name.isFile() ) {
                 String nameString = String.valueOf(name.getPath());
                 String nameTeste = new String(nameString);
                 if (nameString.endsWith(".pdf"))
                     nameTeste = chamaConversor(nameString);
                 else
                     if (nameString.endsWith(".doc"))
                         nameTeste = chamaConversorDoc(nameString); // chama conversor de arquivos DOC
                     else
                         if (nameString.endsWith(".txt"))
                             nameTeste = nameString;
                 // se o arquivo termina com ".txt"           
                 if (nameTeste.endsWith(".txt"))
                     // acrescenta conte?do do arquivo ? ?rea de sa?da
                     try {
                         // Create the tokenizer to read from a file
                         FileReader rd = new FileReader(nameTeste);
                         StreamTokenizer st = new StreamTokenizer(rd);
                         // Prepare the tokenizer for Java-style tokenizing rules
                         st.parseNumbers();
                         st.wordChars('_', '_');
                         st.eolIsSignificant (true);
                         // If whitespace is not to be discarded, make this call
                         st.ordinaryChars(0, ' ');
                         // These calls caused comments to be discarded
                         st.slashSlashComments(true);
                         st.slashStarComments(true);
                         // Parse the file
                         int token = st.nextToken();
                         String word_ant = "";
                         outputArea.append( " \n" );
                         out = new BufferedWriter(new FileWriter(nameTeste, true));
                         while (token != StreamTokenizer.TT_EOF) {
                             token = st.nextToken();
                             if (token == StreamTokenizer.TT_EOL){
                                 //out.write(word);
                                 out.flush();
                                 out = new BufferedWriter(new FileWriter(nameTeste, true));
                                 //outputArea.append( word + "\n" );
                                 // out.append ( "\n" );
                             switch (token) {
                             case StreamTokenizer.TT_NUMBER:
                                 // A number was found; the value is in nval
                                 double num = st.nval;
                                 break;
                             case StreamTokenizer.TT_WORD:
                                 // A word was found; the value is in sval
                                 word = st.sval;
                                 //   if (word_ant.equals("a") || word_ant.equals("an") || word_ant.equals("the") || word_ant.equals("The") || word_ant.equals("An"))
                                 outputArea.append( word.toString() + " \n " );
                                // out.append( word + "   " );
                                 //     word_ant = word;
                                 break;
                             case '"':
                                 // A double-quoted string was found; sval contains the contents
                                 String dquoteVal = st.sval;
                                 break;
                             case '\'':
                                 // A single-quoted string was found; sval contains the contents
                                 String squoteVal = st.sval;
                                 break;
                             case StreamTokenizer.TT_EOL:
                                 // End of line character found
                                 break;
                             case StreamTokenizer.TT_EOF:
                                 // End of file has been reached
                                 break;
                             default:
                                 // A regular character was found; the value is the token itself
                                 char ch = (char)st.ttype;
                                 break;
                             } // fim do switch
                         } // fim do while
                         rd.close();
                         out.close();
                     } // fim do try
                     // process file processing problems
                     catch( IOException ioException ) {
                         JOptionPane.showMessageDialog( this,
                         "FILE ERROR",
                         "FILE ERROR", JOptionPane.ERROR_MESSAGE );
                 } // fim do if da linha 92 - testa se o arquivo ? do tipo texto
              } // fim do if da linha 78 - testa se ? um arquivo
              // output directory listing
              else if ( name.isDirectory() ) {
                     String directory[] = name.list();
                 outputArea.append( "\n\nDirectory contents:\n");
                 for ( int i = 0; i < directory.length; i++ )
                    outputArea.append( directory[ i ] + "\n" );
              } // fim do else if da linha 184 - testa se ? um diret?rio
           } // fim do if da linha 62 - testa se o arquivo existe
           // not file or directory, output error message
           else {
              JOptionPane.showMessageDialog( this,
                 actionEvent.getActionCommand() + " Does Not Exist",
                 "ERROR", JOptionPane.ERROR_MESSAGE );
        }  // fim do m?todo actionPerformed
        // m?todo que chama o conversor
        public String chamaConversor(String arquivoPdf){
            String arquivoTxt = new String(arquivoPdf);
            arquivoTxt = arquivoPdf.replace(".pdf", ".txt");
            try {
                conversor.pdfToText(arquivoPdf,arquivoTxt);
            catch (Exception ex) {
                ex.printStackTrace();
            return (arquivoTxt);
        // executa a aplica??o
        public static void main( String args[] )
           ConstrutorDeTemplate2 application = new ConstrutorDeTemplate2();
           application.setDefaultCloseOperation (
              JFrame.EXIT_ON_CLOSE );
        } // fim do m?todo main
    }  // fim da classe ExtratorDeSubstantivos2
      * PdfToText.java
      * Created on 11 de Agosto de 2007, 10:57
      * To change this template, choose Tools | Template Manager
      * and open the template in the editor.
    //package br.unifacs.dis2007.template2;
      * @author www
    package br.unifacs.dis2007.template2;
    import java.io.File;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.OutputStreamWriter;
    import java.io.Writer;
    import java.net.MalformedURLException;
    import java.net.URL ;
    import org.pdfbox.pdmodel.PDDocument;
    import org.pdfbox.pdmodel.encryption.AccessPermission;
    import org.pdfbox.pdmodel.encryption.StandardDecryptionMaterial;
    import org.pdfbox.util.PDFText2HTML;
    import org.pdfbox.pdmodel.font.PDFont.* ;
    import org.pdfbox.util.PDFTextStripper;
    import org.pdfbox.util.*;
    import org.pdfbox.pdmodel.*;
    public class PdfToText
        public void pdfToText( String pdfFile, String textFile) throws Exception
                Writer output = null;
                PDDocument document = null;
                try
                    try
                        //basically try to load it from a url first and if the URL
                        //is not recognized then try to load it from the file system.
                        URL url = new URL( pdfFile );
                        document = PDDocument.load( url );
                        String fileName = url.getFile();
                        if( textFile == null && fileName.length () >4 )
                            File outputFile =
                                new File( fileName.substring( 0,fileName.length() -4 ) + ".txt" );
                            textFile = outputFile.getName();
                    catch( MalformedURLException e )
                        document = PDDocument.load( pdfFile );
                        if( textFile == null && pdfFile.length() >4 )
                            textFile = pdfFile.substring( 0,pdfFile.length() -4 ) + ".txt";
                       //use default encoding
                      output = new OutputStreamWriter( new FileOutputStream( textFile ) );
                    PDFTextStripper stripper = null;
                    stripper = new PDFTextStripper();
                    stripper.writeText( document, output );
                finally
                    if( output != null )
                        output.close();
                    if( document != null )
                        document.close();
                }//finally
            }//end funcao
     

    You might have to modify you weblogic.policy to grant access rights for
    WLAS.
    Cheers - Wei
    Nyman <[email protected]> wrote in message
    news:[email protected]..
    Hi everyone,
    When running WLS in RedHat 6.2 with the command - ./startWebLogic.sh,an
    error saying "Exception in thread mainjava.security.AccessControlException
    : access denied (java.lang.RuntimePermission createSecurityManager) is
    displayed.
    Could anyone suggestion an solution?
    Best Regardsm

  • HELP Needed with this error:   Exception in thread "main" java.lang.NoClass

    Folks,
    I am having a problem connecting to my MSDE SQL 2000 DB on a WindowsXP pro. environment. I am learning Java and writing a small test prgm to connect the the database. The code compiles ok, but when I try to execute it i keep getting this error:
    "Exception in thread "main" java.lang.NoClassDefFoundError: Test1"
    I am using the Microsoft jdbc driver and my CLASSPATH is setup correctly, I've also noticed that several people have complained about this error, but have not seen any solutions....can someone help ?
    Here is the one of the test programs that I am using:
    import java.sql.*;
    * Microsoft SQL Server JDBC test program
    public class Test1 {
    public Test1() throws Exception {
    // Get connection
    DriverManager.registerDriver(new
    com.microsoft.jdbc.sqlserver.SQLServerDriver());
    Connection connection = DriverManager.getConnection(
    "jdbc:microsoft:sqlserver://LAPTOP01:1433","sa","sqladmin");
    if (connection != null) {
    System.out.println();
    System.out.println("Successfully connected");
    System.out.println();
    // Meta data
    DatabaseMetaData meta = connection.getMetaData();
    System.out.println("\nDriver Information");
    System.out.println("Driver Name: "
    + meta.getDriverName());
    System.out.println("Driver Version: "
    + meta.getDriverVersion());
    System.out.println("\nDatabase Information ");
    System.out.println("Database Name: "
    + meta.getDatabaseProductName());
    System.out.println("Database Version: "+
    meta.getDatabaseProductVersion());
    } // Test
    public static void main (String args[]) throws Exception {
    Test1 test = new Test1();

    I want to say that there was nothing wrong
    with my classpath config., I am still not sure why
    that didn't work, there is what I did to resolved
    this issue.You can say that all you like but if you are getting NoClassDefFound errors, that's because the class associated with the error is not in your classpath.
    (For future reference: you will find it easier to solve problems if you assume that the problem is your fault, instead of trying to blame something else. It almost always is your fault -- at least that's been my experience.)
    1. I had to set my DB connection protocol to TCP/IP
    (this was not the default), this was done by running
    the
    file "svrnetcn.exe" and then in the SQL Server Network
    Utility window, enable TCP/IP and set the port to
    1433.Irrelevant to the classpath problem.
    2. I then copied all three of the Microsoft JDBC
    driver files to the ..\jre\lib\ext dir of my jdk
    installed dir.The classpath always includes all jar files in this directory. That's why doing that fixed your problem. My bet is that you didn't have the jar file containing the driver in your classpath before, you just had the directory containing that jar file.
    3. Updated my OS path to located these files
    and....BINGO! (that simple)Unnecessary for solving classpath problems.
    4. Took a crash course on JDBC & basic Java and now I
    have created my database, all tables, scripts,
    stored procedures and can read/write and do all kinds
    of neat stuff.All's well that ends well. After a few months you'll wonder what all the fuss was about.

  • Exception in thread "main" java.lang.ClassNotFoundException: oracle.jdbc.dr

    Hi
    I am trying to use type 4 driver to connect to my Oracle 9i Rel2 database. I downloaded the odbc14.jar from oracle and added in the C:\Oracle9i\jdbc\lib path. As on the website, I setup my environment:
    Setting Up Your Environment
    On Win95/Win98/NT:
    - Add [ORACLE_HOME]\jdbc\lib\classes111.zip and
    [ORACLE_HOME]\jdbc\lib\nls_charset11.zip to your CLASSPATH.
    (Add classes12.zip and nls_charset12.zip if JDK 1.2.x or 1.3 is
    used. Add ojdbc14.jar and nls_charset12.zip if JDK 1.4 is used.)
    - Make sure [ORACLE_HOME]\bin is in your PATH.
    Still I am getting the following error during runtime:
    Exception in thread "main" java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClassInternal(Unknown Source)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    at jdbc.InsertQueryEx.main(InsertQueryEx.java:11)
    Below is the source code:
    import java.sql.*;
    import java.io.*;
    public class InsertQueryEx {
    public static void main(String[] args)throws Exception{
    Class.forName("oracle.jdbc.OracleDriver");
    Connection con = DriverManager.getConnection("jdbc:oracle:thin:@Prashy:1521:orcl", "scott", "tiger");
    DataInputStream din = new DataInputStream(System.in);
    Statement stmt = con.createStatement();
    while(true){
    try{
    System.out.println("enter emp name");
    String name = din.readLine();
    System.out.println("enter emp no");
    int no = Integer.parseInt(din.readLine());
    System.out.println("enter emp salary");
    float sal = Float.parseFloat(din.readLine());
    System.out.println("enter emp address");
    String addr = din.readLine();
    int count = stmt.executeUpdate("insert into myemp values("+no+",'"+name+"',"+sal+",'"+addr+"')");
    if(count>0)
    System.out.println("Record added");
    else
    System.out.println("Failed");
    catch (Exception e){
    System.err.println("Exception: "+e.getMessage());
    Any help is appreciated
    Thanks
    Prashant

    I am sorry but I did add those in the classpath but still getting this error:
    This is what I have for user variable in classpath:
    .;C:\Oracle9i\jdbc\lib\ojdbc14.jar;C:\Oracle9i\jdbc\lib\nls_charset12.jar
    error is:
    java.lang.ClassNotFoundException: oracle.jdbc.OracleDriver
         at java.net.URLClassLoader$1.run(Unknown Source)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.net.URLClassLoader.findClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at java.lang.ClassLoader.loadClassInternal(Unknown Source)
         at java.lang.Class.forName0(Native Method)
         at java.lang.Class.forName(Unknown Source)
         at jdbc.InsertQueryEx.main(InsertQueryEx.java:14)
    Thanks

  • Exception in thread "main" java.lang.NumberFormatException:For input String

    this is a code about arrylist. but when I debug it.it metion:Exception in thread "main" java.lang.NumberFormatException:For input String at java.lang.NumberFormatException.forInputString(numberFomatExceptionio java:48)
    at java.lang.Integer.parseInt(integer.java:468)
    at java.lang.Integer.parseInt(integer.java:497)
    at Get.getInt(manerger.java:208)
    at LinkList.insertFirst(manager.java:94)
    at manager.main(manager.java;20)
    this is my code:
    import java.io.*;
    import java.lang.*;
    public class manager
         public static void main(String args[]) throws IOException
         LinkList list=new LinkList();
         System.out.println("input S can scan the grade\ninput D can delete one entry\ninput U can update the entry\ninput A can add one entry\ninput E can end");
         int cr=System.in.read();
    switch(cr)
         case 'A':
         list.insertFirst();break;//this is 20 row
         case 'S':
         System.out.println("input the s");break;
         case 'D':
         System.out.println("input the d");break;
         case 'U':
         System.out.println("input the u");break;
    class Link
    public int number;
    public String name=new String();
    public int chs;
    public int eng;
    public int math;
    public Link next;
    public Link(int number,String name, int chs,int eng,int math)
    this.number=number;
    this.name=name;
    this.chs=chs;
    this.eng=eng;
    this.math=math;
    public Link()
         this(0,"",0,0,0);
    public void displayLink()
    System.out.println(number + " "+name+ " "+chs+ " "+eng+ " "+math+ " ");
    class LinkList
    public Link first;
    public LinkList()
    first = null;
    public boolean isEmpty()
    return first==null;
    public void displayList()
         System.out.println("");
         Link current=first;
         while(current!=null)
              current.displayLink();
              current=current.next;
         System.out.println("");
    public Link insertFirst() throws IOException
         Get getdata=new Get();
         int number=getdata.getInt();//this is 94 row
         String name=getdata.getString();
         int chs=getdata.getInt();
         int eng=getdata.getInt();
         int math=getdata.getInt();
         Link newLink = new Link(number,name,chs,eng,math);
         first=newLink;
         return first;
    public Link find(int key)
         Link current=first;
         while(current.number!=key)
              if(current.next==null)
              return null;
              else
              current=current.next;
         return current;
    public Link update(int key) throws IOException
         Link current=first;
         while(current.number!=key)
         if(current.next==null)
         return null;
         else
              System.out.println("Input the first letter of the subject:");
         int c=System.in.read();
         Get get=new Get();
              switch(c)
                   case 'c':
                   current.chs=get.getInt();break;
                   case 'e':
                   current.eng=get.getInt();break;
                   case 'm':
                   current.math=get.getInt();break;
         return current;
    public float average(char key)
         Link current=first;
         float total=0;
         float average=0;
         float counter=0;
         if(current==null)
         return 0;
         while(current!=null)
              switch(key)
                   case 'c':
                   total=current.chs+current.next.chs;break;
                   case 'e':
                   total=current.eng+current.next.eng;break;
                   case 'm':
                   total=current.math+current.next.math;break;
              current=current.next.next;
              counter++;
         average=total/counter;
         return average;
    public Link delete(int key)
         Link current=first;
         Link previous=first;
         while(current.number!=key)
              if(current.next==null)
              return null;
              else
                   previous=current;
                   current=current.next;
              if(current==first)
              first=first.next;
              else
              previous.next=current.next;
              return current;
    class Get
    public static String getString() throws IOException
    System.out.println("Input your name:");
    InputStreamReader str = new InputStreamReader(System.in);
    BufferedReader br = new BufferedReader(str);
    String s = br.readLine();
    return s;
    public static int getInt() throws IOException
    System.out.println("Input your data:");
    String st = getString();
    return Integer.parseInt(st);//this is 208 row
    }

    It may be that the code in getString() returns a
    String that ends with a newline. If that is the
    problem, you can use
    return (Integer.parseInt(st)).trim();1. getString will never return a String ending in newline. BufferedReader.readLine strips off the newline.
    2. Even if you had a newline, String.trim doesn't trim newlines.
    3. You would need to trim the String, not the int:
    return (Integer.parseInt(st.trim()));As JimDinosaur said, you are passing bad data (the value of "st").
    In getInt, add this before trying to parse "st":
    System.out.println("###"+st+"###");What does it print?

  • How to throw exception in run() method of Runnable?

    Hi, everyone:
    I want to know how to throw exception in run() method of interface Runnable. Since there is no throwable exception declared in run() method of interface Runnable in Java API specification.
    Thanks in advance,
    George

    Thanks, jfbriere.
    I must add though that if your run() methodis
    executed after a call to Thread.start(), then
    it is not a good choice to throw anyRuntimeException
    from the run() method.
    The reason is that the thrown exception won't be
    handled appropriately by a try-catch block.Why do you say that "the thrown exception won't be
    handled appropriately by a try-catch block"? Can you
    explain it in more detail?
    regards,
    George
    Because the other thread runs concurrently with and independently of the parent thread, there's no way you can write a try/catch that will handle the new thread's exception: try {
        myThread.start();
    catch (TheExceptionYouWantToThrowFromRun exc) {
        handle it
    do the next thing This won't work because the parent thread just continues on after myThread.start(). Start() doesn't throw the exception--run() does. And our parent thread here has lost touch with the child thread--it just moves on to "do the next thing."
    Now, you can do some exception handling with ThreadGroup and uncaughtException(), but make sure you understand why the above won't work, in case that was what you were planning to do.

  • Programmatically adding chart to a report throws exception

    programmatically adding chart to a report throws exception "chart condition fields are not valid".
    Configuration:
    I am using CR4E to create web application, I've added RAS jars (rasapp.jar, rascore.jar, reporttemplate.jar, serialization.jar) to this web application. For designing reports i am using Crystal Reports 2008.
    Code:
    <%
    // Get the previously opened report from the session.
    ReportClientDocument reportClientDocument =
         (ReportClientDocument)session.getAttribute("ReportClientDocument");
    System.out.println(reportClientDocument.getReportDocument().getName());
    // Try to get the report's DataDefinition object.
    IDataDefinition dataDefinition;
    try
         dataDefinition = reportClientDocument.getDataDefController().getDataDefinition();
    // If the DataDefinition object can not be retrieved, redirect the user to an error page.
    catch (Exception e)
         System.out.println("With error1");
        return;
    // Create a new ChartDefinition object and set its type to ChartType.group.
    ChartDefinition chartDefinition = new ChartDefinition();
    chartDefinition.setChartType(ChartType.group);
    Get the conditional field of the report's first group. Set this conditional
    field for the ChartDefinition object using the setConditonalFields method. Notice
    that the conditional field is first placed in a Fields collection because the
    setConditionalFields method takes a Fields object as an argument.
    Fields conditionFields = new Fields();
    if (!dataDefinition.getGroups().isEmpty())
         IField field = dataDefinition.getGroups().getGroup(0).getConditionField();
         System.out.println("Condition field name ->" + field.getLongName(Locale.ENGLISH));
         conditionFields.addElement(field);
    chartDefinition.setConditionFields(conditionFields);
    //Get the summary field name from the form on the previous page.
    String summaryFieldName = URLDecoder.decode(request.getParameter("summaryField"));
    System.out.println("Summary field name ->" + summaryFieldName);
    Loop through all of the report's summary fields until the one matching the name
    above is found. Set this summary field for the ChartDefinition object using the
    setDataFields method. Notice that the summary field is first placed in a Fields
    collection because the setDataFields method takes a Fields object as an argument.
    Fields dataFields = new Fields();
    for (int i = 0; i < dataDefinition.getSummaryFields().size(); i++)
        IField summaryField = dataDefinition.getSummaryFields().getField(i);
         if (summaryField.getLongName(Locale.ENGLISH).equals(summaryFieldName))
              System.out.println("Adding data field ->" + summaryFieldName);
              dataFields.addElement(summaryField);
    chartDefinition.setDataFields(dataFields);
    Create a new ChartObject to represent the chart that will be added.  Set the
    ChartDefinition property of the ChartObject using the ChartDefinition object created
    above.
    ChartObject chartObject = new ChartObject();
    chartObject.setChartDefinition(chartDefinition);
    Get the chart type, chart placement, and chart title strings from the form on the
    previous page. If no chart title was chosen, create a generic title.
    String chartTypeString = request.getParameter("type");
    String chartPlacementString = request.getParameter("placement");
    String chartTitle = request.getParameter("title");
    System.out.println("chartTypeString ->"+ chartTypeString + "<-chartPlacementString->" + chartPlacementString + "<-chartTitle->"+chartTitle);
    if (chartTitle.equals(""))
         chartTitle = "untitled";
    Create a ChartStyleType object and a AreaSectionKind object based on the
    the chartTypeString and chartPlacementString retrieved above. In this example
    possible chart types are bar chart and pie chart. Possible chart placements
    are header and footer.
    ChartStyleType chartStyleType = ChartStyleType.from_string(chartTypeString);
    AreaSectionKind chartPlacement = AreaSectionKind.from_string(chartPlacementString);
    // Set the chart type, chart placement, and chart title for the chart.
    chartObject.getChartStyle().setType(chartStyleType);
    chartObject.setChartReportArea(chartPlacement);
    chartObject.getChartStyle().getTextOptions().setTitle(chartTitle);
    // Set the width, height, and top for the chart.
    chartObject.setHeight(5000);
    chartObject.setWidth(5000);
    chartObject.setTop(1000);
    Get a ReportDefController object that can be used to modify the report's definition.
    ReportDefController reportDefController;
    try
         reportDefController = reportClientDocument.getReportDefController();
    catch (Exception e)
         System.out.println("With Error2");
         return;
    *Create a Section object that represents the section that will hold the chart.
    If the chart placement was set header, get the header section, otherwise, if the
    chart placement was set to footer, get the footer section.
    Section chartSection = null;
    if (chartPlacement.equals(AreaSectionKind.reportHeader))
         IArea reportHeaderArea =
              reportDefController.getReportDefinition().getReportHeaderArea();
         chartSection = (Section)reportHeaderArea.getSections().getSection(0);
    else if (chartPlacement.equals(AreaSectionKind.reportFooter))
         IArea reportFooterArea =
              reportDefController.getReportDefinition().getReportFooterArea();
         chartSection = (Section)reportFooterArea.getSections().getSection(0);
    Add the chart to the section using the ReportDefController object.
    reportDefController.getReportObjectController().add(chartObject, chartSection, 1);
    // Save the changes and close the report.
    reportClientDocument.save();
    reportClientDocument.close();
    session.removeAttribute("ReportClientDocument");
    %>     
    Trace:
    com.crystaldecisions.sdk.occa.report.lib.ReportDefControllerException: The chart condition fields are not valid.---- Error code:-2147213287 Error code name:invalidChartObject
         at com.crystaldecisions.sdk.occa.report.lib.ReportDefControllerException.throwReportDefControllerException(Unknown Source)
         at com.crystaldecisions.sdk.occa.report.application.ReportObjectController.a(Unknown Source)
         at com.crystaldecisions.sdk.occa.report.application.ReportObjectController.a(Unknown Source)
         at com.crystaldecisions.sdk.occa.report.application.ReportObjectController.a(Unknown Source)
         at com.crystaldecisions.sdk.occa.report.application.ReportObjectController.a(Unknown Source)
         at com.crystaldecisions.sdk.occa.report.application.ReportObjectController.a(Unknown Source)
         at com.crystaldecisions.sdk.occa.report.application.ReportObjectController.add(Unknown Source)
         at org.apache.jsp.AddChart_jsp._jspService(AddChart_jsp.java:230)
         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:387)
         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:244)
         at java.security.AccessController.doPrivileged(Native Method)
         at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
         at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:276)
         at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:162)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:283)
         at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:56)
         at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:189)
         at java.security.AccessController.doPrivileged(Native Method)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:185)
         at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:244)
         at java.security.AccessController.doPrivileged(Native Method)
         at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
         at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:276)
         at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:218)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
         at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:56)
         at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:189)
         at java.security.AccessController.doPrivileged(Native Method)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:185)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
         at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
         at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
         at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
         at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:393)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580)
         at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
         at java.lang.Thread.run(Thread.java:595)

    Please try this code snippet
    var cs:ColumnSeries = new ColumnSeries();
    cs.dataProvider = dp;
    cs.displayName = "Series 2";
    cs.yField = "values";
    chart.series.push(cs);
    OR
    var temp:Array = [];
    var cs:ColumnSeries = new ColumnSeries();
    cs.dataProvider = dp;
    cs.displayName = "Series 2";
    cs.yField = "values";
    temp = chart.series;
    temp.add(cs);
    chart.series = temp;

  • How to resolve Exception in thread "main" java.lang.NoSuchFieldError: strm

    Hi,
    Aplogies, if I am posting this in the wrong place, else please guide me.
    We were running JBoss server 4.2.3 GA with Java 5 Update 19 in Solaris 10.
    Details of uname command in Solaris box is,
    uname -a
    SunOS uktapp06 5.10 Generic_125100-10 sun4us sparc FJSV,GPUZC-M
    Due to performance issues we need to upgrade to latest Java [Java 6 Update 21] and when I tried to run JBoss with 64 bit mode using Java options like,
    JAVA_OPTS="*-d64* -Xms3g -Xmx3g -XX:ThreadStackSize=512 -XX:+UseParallelGC -XX:MaxPermSize=256m -XX:NewRatio=2"
    I get the below error,
    Exception in thread "main" java.lang.NoSuchFieldError: strm
            at java.util.zip.Inflater.initIDs(Native Method)
            at java.util.zip.Inflater.<clinit>(Inflater.java:68)
            at java.util.zip.ZipFile.getInflater(ZipFile.java:266)
            at java.util.zip.ZipFile.getInputStream(ZipFile.java:212)
            at java.util.zip.ZipFile.getInputStream(ZipFile.java:180)
            at java.util.jar.JarFile.hasClassPathAttribute(JarFile.java:465)
            at java.util.jar.JavaUtilJarAccessImpl.jarFileHasClassPathAttribute(JavaUtilJarAccessImpl.java:21)
            at sun.misc.URLClassPath$JarLoader.getClassPath(URLClassPath.java:903)
            at sun.misc.URLClassPath.getLoader(URLClassPath.java:302)
            at sun.misc.URLClassPath.getResource(URLClassPath.java:168)
            at java.net.URLClassLoader$1.run(URLClassLoader.java:194)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
            at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
            at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)I have posted this at JBoss Forum here, http://community.jboss.org/message/553489
    and got a response that we need to reinstall Java 6 Update 21 in Solaris
    However my System admin verified and said there are no issues in Java installation.
    I could run a HelloWorld sample program using the same Java options [with -d64 flag] and that runs perfectly.
    I do not have any clue because I do not think there is any issues in the JBoss server
    From the above trace, it is failing at a native call and not picking up the required libraries.
    Please also let me know the below
    1. Whether I need to set any environment variables?
    2. Whether the installation would have been corrupted and we need to reinstall?
    Thanks,
    Prabhu

    Hi Franco,
    Yes, I solved that by reinstalling Java 6 Update 21.
    There are three versions for Solaris namely, SPARC, x64 and x86. Our platform is SPARC and I think System admin has installed the wrong version instead of installing SPARC version of Java.
    After installing SPARC version of Java this got resolved. And I confirmed everything is fine by running a small program as below. You can run this program from command line using the -d64 flag. If the installation is wrong you will get the same exception as I mentioned.
    public class Analyzer {
          public static void main(String args[]) throws Exception{
               InputStream fin = new FileInputStream(args[0]);
               int iSize = fin.available();
               byte mvIn[] = new byte[iSize];
               fin.read(mvIn,0,iSize);
               fin.close();
               String strText = new String(mvIn);
               PrintStream fout = new PrintStream(new FileOutputStream(args[0]+".csv"));
               fout.println("Before,After,Seconds");
               Pattern p = Pattern.compile("\\[(?:Full |)GC (\\d*)K->(\\d*)K\\(\\d*K\\), ([\\d.]*) secs\\]");
               Matcher m = p.matcher(strText);
               while(m.find()){
                    fout.println(m.group(1)+ "," + m.group(2) + "," + m.group(3));
               fout.close();
    }Hope this helps.
    Regards,
    Prabhu

  • Exception in thread "main" javax.naming.NoInitialContextException: Need to

    Hey,
    I am exploring the technique 'JMS'. I found an sample code on the Internet (https://www.redhat.gl/docs/manuals/jboss/jboss-eap-4.2/doc/Server_Configuration_Guide/JMS_Examples-A_Point_To_Point_Example.html).
    But unfortunately, by running the code on my local computer, I got an NoInitialContextException (Exception in thread "main" javax.naming.NoInitialContextException: Need to ...Application resource file: java.naming.factory.initial). After searching on the Internet, I discovered I need to configure some JNDI values. But, also after passing on the variables to the class by parameter (-Djava.naming.factory.initial=com.sun.enterprise.naming.SerialInitContextFactory), I still get the same error.
    What have I forgotten? Hope someone can help. Thanks!
    Tongue78.
    public void setupPTP()
    throws JMSException,
    NamingException
    InitialContext iniCtx = new InitialContext();
    Object tmp = iniCtx.lookup("ConnectionFactory"); // exception occurs here..
    QueueConnectionFactory qcf = (QueueConnectionFactory) tmp;
    conn = qcf.createQueueConnection();
    que = (Queue) iniCtx.lookup("queue/testQueue");
    session = conn.createQueueSession(false,
    QueueSession.AUTO_ACKNOWLEDGE);
    conn.start();
    ....

    Refer to the Sun App Server documentation.
    http://docs.sun.com/source/819-0079/dgacc.htmlIt lists down the steps you need to follow.

  • Exception in thread "main" org.xml.sax.SAXParseException:

    Hi everybody,
    I had a code which is running good in the output till error comes,i want to remove that error in xml file and replace with blanck(or null value) by using string function.
    It will be a great help if some body could modify my code .
    import javax.xml.bind.Validator;
    import javax.xml.parsers.*;
    import org.xml.sax.SAXException;
    import org.xml.sax.XMLReader;
    import org.xml.sax.helpers.DefaultHandler;
    import java.util.jar.Attributes;
    import java.io.File;
    class Reading extends DefaultHandler
    public static void main(String args[])throws Exception
    SAXParserFactory spf = SAXParserFactory.newInstance();
    SAXParser sp = spf.newSAXParser();
    File file=new File("C://raj.xml");
    sp.parse(file,new Reading());
    /*XMLReader xmlr=sp.getXMLReader();
    xmlr.setContentHandler(new Reading());
    xmlr.parse("first.xml");*/
    private Object args;
    public void startElement(String uri,String localName,String qName,
    Attributes attributes)
    System.out.println(qName);
    public void characters(char []ch,int start,int length)
    String str=new String(ch,start,length);
    System.out.print(str);
    public void endElement(String uri,String localName,String qName)
    System.out.println(qName);
    // Get a validator from the schema.
    //Validator validator = schema.newValidator();
    /*String file;
    try {
    Object validator;
         Object source;
         ((Object) validator).validate(source);
    System.out.println(file + " is valid.");
    catch (SAXException ex) {
    System.out.println(file + " is not valid because ");
    System.out.println(ex.getMessage());
    /* Object args;
              if (args.length != 1) {
    System.err.println("Exception in thread "main" org.xml.sax.SAXParseException: The entity "content_ppov_1704781_1091806592456" was referenced, but not declared.");
    System.exit(1);
    //public boolean equalsIgnoreCase(String anotherString)
    //String s="content_ppov_1704781_1091806592456";
    //String s1="null";
    //Object error = null;
    //Stringreplace(content_ppov_1704781_1091806592456,null);
    //return null;
    //System.out.println("");
    //private void Stringreplace(Object error, Object object) {
         // TODO Auto-generated method stub
    /* Object internal;
         private String file;
         // Let's suppose that lines in the underlying input stream are known
    // to be no greater than 80 characters long.
         // Emit an error message, and delete the resource:
                   String msg = file+ "content_ppov_1704781_1091806592456";
                   //void getServer().errlog(this, msg);
                   delete();
                        private void delete() {
                             // TODO Auto-generated method stub
                        private void errlog(Reading reading, String msg2) {
                             // TODO Auto-generated method stub
    and my raj.xml file is like this
    <div>This is a data .</div>]]>
    </TEXT>
    </content>
    &content_1234789; // this line of error is comming
    </content>
    thanks in advance.
    The error message displaying on console is
    Exception in thread "main" org.xml.sax.SAXParseException: The entity "content_ppov_1704781_1091806592456" was referenced, but not declared.
         at org.apache.xerces.framework.XMLParser.reportError(XMLParser.java:1213)
         at org.apache.xerces.readers.DefaultEntityHandler.startReadingFromEntity(DefaultEntityHandler.java:601)
         at org.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.dispatch(XMLDocumentScanner.java:1264)
         at org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner.java:381)
         at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:1098)
         at javax.xml.parsers.SAXParser.parse(SAXParser.java:395)
         at javax.xml.parsers.SAXParser.parse(SAXParser.java:331)
         at runner.Reading.main(Reading.java:18)

    The error is in your XML input, not in your Java code. Probably the XML doesn't declare its encoding, so the parser assumes that it is encoded in UTF-8. And probably it contains some character (like an accented letter, for example) that is not part of the UTF-8 encoding. So contact the person who created the XML -- which is not well-formed XML, by the way -- and get them to fix it. It's possible that declaring the encoding as ISO8859-1 might work, but it might not. All depends on what the invalid character is.

  • Exception in thread "main" java.lang.ExceptionInInitializerError

    Exception in thread "main" java.lang.ExceptionInInitializerError
    at platinum.logger.XAbstractLogger.setStreams(XAbstractLogger.java:44)
    at platinum.logger.XConsoleLogger.initStreams(XConsoleLogger.java:32)
    at platinum.logger.XConsoleLogger.<init>(XConsoleLogger.java:27)
    at platinum.platinum.main(platinum.java:55)
    Caused by: java.lang.NullPointerException
    at platinum.util.XResourceManager.initResourceBundle(XResourceManager.java:34)
    at platinum.XRepository.<clinit>(XRepository.java:109)
    ... 4 more
    Java Result: 1
    BUILD SUCCESSFUL (total time: 0 seconds)
    I get a msg like this wen i try to run my project.
    The code which gives the error is:
    import java.io.*;
    import java.util.*;
    import platinum.*;
    public abstract class XAbstractLogger implements XLogger
         public XAbstractLogger()
              this(XProjectConstants.LOG_MODE_VERBOSE);
         public XAbstractLogger(int log_mode)
              setLogMode( new XLogMode(log_mode) );
         protected void setStreams(PrintStream ps_out, PrintStream ps_err) throws IOException,Exception
              out = ps_out;
              err = ps_err;
              // Log some stuff
         String[] props = {
                   "java.version", "java.vendor", "java.compiler", "os.name",
                   "os.version", "os.arch", "user.home"
              if( !logMode.isOff() )
                   logImpl(XRepository.getLogger(), "When reporting bugs, please include the following information:", MESSAGE, out);
                   logImpl(XRepository.getLogger(), XProjectConstants.PRODUCT_NAME+" version="+XProjectConstants.PRODUCT_VERSION, MESSAGE, out);
                   for( int i=0; i<props.length; i++)
                        logImpl(XRepository.getLogger(), props[i] + "=" + System.getProperty(props), MESSAGE, out);
         public void setLogMode(XLogMode log_mode)
              logMode = log_mode;
         public void addLogException(String log_e, XLogMode log_mode)
              if( !logExceptions_Modes.containsKey(log_e) )
                   logExceptions_Modes.put(log_e, log_mode);
         public void removeLogException(String log_e)
              logExceptions_Modes.remove(log_e);
         public final void message(Object src, Object obj)
              if( logMode.getLogMessages() )
                   logImpl(src, obj, MESSAGE, out);
         public final void debug(Object src, Object obj)
              if( logMode.getLogDebugs() )
                   logImpl(src, obj, DEBUG, out);
         public final void warning(Object src, Object obj)
              if( logMode.getLogWarnings() )
                   logImpl(src, obj, WARNING, err);
         public final void error(Object src, Object obj)
              if( logMode.getLogErrors() )
                   logImpl(src, obj, ERROR, err);
         private void logImpl(Object src, Object obj, int type, PrintStream ps)
              if( ps==null )
                   return;
         String class_name = XRepository.getResourceManager().getClassName(src);
              if( isAnException(class_name, type) )
                   return;
              ps.print("["+getTitle(type)+"-"+class_name+"] ");
              if( obj instanceof Throwable )
                   ((Throwable)obj).printStackTrace(ps);
              else
                   ps.println(obj);
         private boolean isAnException(String str, int type)
         Iterator it = logExceptions_Modes.keySet().iterator();
         String excep_item;
         XLogMode log_mode;
              while( it.hasNext() )
                   excep_item = (String)it.next();
                   log_mode = (XLogMode)logExceptions_Modes.get(excep_item);
                   if( excep_item.equalsIgnoreCase(str) )
                        if( ((type==MESSAGE) && (log_mode.getLogMessages()==false)) ||
                             ((type==DEBUG) && (log_mode.getLogDebugs()==false)) ||
                             ((type==WARNING) && (log_mode.getLogWarnings()==false)) ||
                             ((type==ERROR) && (log_mode.getLogErrors()==false)) )
                        return true;
              return false;
         private String getTitle(int type)
              switch( type )
                   case MESSAGE:
                        return ">Message:";
                   case DEBUG:
                        return ">Debug:";
                   case WARNING:
                        return ">Warning:";
                   case ERROR:
                        return ">Error:";
                   default:
                        return ">??!!";
    // Attributes:
         private static final int MESSAGE = 1;
         private static final int DEBUG = 3;
         private static final int WARNING = 5;
         private static final int ERROR = 7;
         private PrintStream out = null;
         private PrintStream err = null;
         private Map logExceptions_Modes = new HashMap();
         private XLogMode logMode = new XLogMode();

    The code which gives the error is:You have read the stack trace incorrectly and posted the wrong code.... read the trace again:
    at platinum.platinum.main(platinum.java:55)
    Caused by: java.lang.NullPointerException
    at platinum.util.XResourceManager.initResourceBundle(XResourceManager.java:34)
    at platinum.XRepository.<clinit>(XRepository.java:109) Something is throwing null pointer exception in *'platinum.util.XResourceManager.initResourceBundle'* method.
    Thanks!

Maybe you are looking for

  • Help:pdf file convert to word

    When I try to convert pdf file to word,I get a error message:"bad PDF; error in processing fonts; cannot find CMap resource file",how to solve it?

  • Transformations not available

    Hi All, I am in BI 7.0 and my R/3 system is 4.7.my problem is when i look for transformations ,some of them are not available for examle in HR extraction i am loking for 0HR_PA_1 & 0HR_PA_0 related transormations they are not available in the busines

  • Deactivation problem - I think

    I have had Photoshop CS4 running on a computer since 2008. Now that computer has crashed so badly it won't start at all and it's so old it's not worth it to have it fixed. Thus I can't deactive CS4 on that computer. I have downloaded CS4 from the "My

  • How do I reduce an image size? Metrics and using the box handle do not work

                

  • Wmii-like taglist in Awesome wm

    Hi, I was thinking about  taglist in Awesome wm which will behave just like wmii default taglist... so it will show only tags which are in use. I was searching on the Internet and can't find anything like this & I can't code in lua so good.. so I can