Capturar excepetion e jogar em um jlabel

Ola! Estou construindo um programinha para me ajudar mas estou com um problema.
Tenho uma tela feita no netbenas e um metodo que pode ou não pó retornar uma exception. Quero que a exception seja lançada em um jlabel, mas não consigo colocar esta exception para o jlabel. Alguém pode dar um help.

[code] private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
Constroi xs = new Constroi();
xs.setCaminho_html(thtml.getText());
xs.setCaminho_xml(txml.getText());
xs.setCaminho_xsl(txsl.getText());
try{
xs.transforma();
tresultado.setText(“Arquivo convertido: " +xs.getCaminho_html() + " :P”);
}catch(Exception ex)
{
tresultado.setText(ex.getMessage());
}
teste.setText(numero+++"");
}

[/code]
t+

Olá,

Tenta assim:

tresultado.setText(ex);

então Marck, nao funcionou.
coloquei assim:

tresultado.setText(ex.toString());

mas ta vindo um

java.lang.NullPointerException

so esta lancando a exception no console do netbeans!
t+ e obrigado pela ajuda

O seu tresultado foi instanciado???

Então…

deu nullPointer pq nem sempre vai dar exception. A referência “ex” só vai existir ser gerar exceção…
Coloca seu JLabel dentro do bloco catch.

Abraço!

[edit]
Explicando melhor
caso esteja assim:

try{
 
    //todo o seu codigo aqui
}
  catch(Exception ex){
  //mais codigo
}

tresultado.setText(ex.toString());

Pode estar dando nullPointer pq não gerou exception no try e o Objeto ex não foi instanciado.

Att,

[/edit]

Ta vindo NullPointerException quando é gerada a maldita exception! No jlabel aparece NullPointerException e no console do netbeans aparece a exception que deveria aparacer no jlabel. Quando tudo ocorre bem vem a minha mensagem de que tudo ocorreu bem.
Tresultado é o meu jlabel e já foi instanciado. E ele esta dentro do try.
t+ :slight_smile:

HUMMMM…

boa!!!

Então põe:

ex.printStackTrace()

:lol:

valeu!!!

ex.printStackTrace() é void.

Não sou a favor de lançar uma Exception num Jlabel o preferível é lançar uma mensagem na tela que ocorreu algum erro

Neste caso lanço Exception em um arquivo de log gerenciado pelo LOG4J

meu metodo transforma esta assim.

public void transforma () throws TransformerConfigurationException, FileNotFoundException, TransformerException {...}

o que sera que esta de errado???

era para pegar a exception ex.getMessage().
entao, eu preciso da exception para saber o que esta acontecendo no meu arquivo xsl.

porque invés de pegar a mensagem da Exception você não coloca JLabel.setText(“Uma Exception ocorreu,tente novamente”)

preciso verificar integridade de um arquivo xsl.
desta forma se ocorrer algum tipo de erro como esse

file:///C:/file/xsl/processos.xsl; Linha n°317; Coluna n°9; org.xml.sax.SAXParseException: The content of elements must consist of well-formed character data or markup.

eu sei que no meu arquivo xsl existe um erro na linha 317 e na coluna 9 e assim eu modifico ele.
é uma coisa interna que pode me ajudar e muito. mas preciso que esse erro seja colocado na jlabel ou qualquer coisa parecida.
será que é o tipo de erro que eu quero pegar ta ferrando alguma coisa no na interface gráfica e não imprime?

[Fatal Error] processo.xsl:317:9: The content of elements must consist of well-formed character data or markup.

blz. obrigado pela ajuda e t+ :slight_smile:

Crie um StringWriter, crie um PrintWriter em cima do StringWriter, coloque a exceção para printStackTrace(o PrintWriter) e acrescente ao JLabel o texto.
Fica algo como:

public void método() {
   try {
      //Faz as coisas
   } catch (Exception e) {
      StringWriter string = new StringWriter();
      PrintWriter printer = new PrintWriter(string);
      e.printStackTrace(printer);
      jLabel.setText(string.toString());
   }
}

Tambem não funcionou! Nao sei pq ta vindo um NullPointerException.
o erro ocorre, mas o try nao consegue capturar este erro. tem alguma coisa para capturar erro fatal?
mas valeu pela dica

cara…
meu o negocio era mais chato do que eu pensava. como estou validando xsl e usando xalam. tive que fazer uma gambit que descolei num site na net.
que funciono blz.
segue o código aqui, as vezes pode ajudar alguém.
e valeu pela ajuda da rapaziada

[code]import org.xml.sax.*;
import org.xml.sax.helpers.XMLReaderFactory;
import java.io.IOException;

public class Verifica implements ErrorHandler {

public void warning(SAXParseException exception) {}

public void error(SAXParseException exception) {}

public void fatalError(SAXParseException exception) {}

public String verifica_xsl(String document)
{
String rs = “”;

try {
  XMLReader parser = XMLReaderFactory.createXMLReader();
  ErrorHandler handler = new Verifica();
  parser.setErrorHandler(handler);
  parser.parse(document);
  //se ok
  
  
  rs += document + "documento ok.";
}
catch (SAXParseException e) {
  rs += document + " não esta bem formatado ";
  rs += "linha " + e.getLineNumber() + ", coluna " +  e.getColumnNumber();
  rs += " na entidade " + e.getSystemId();
}
catch (SAXException e) {
  rs += "nao pude checar a causa pq -> " + e.getMessage();
}
catch (IOException e) { 
  rs += "Ae! achei um IOException, não pude checar o documento " + document; 
}
return rs;

}

public Verifica() {}

}
[/code]

Aqui o site que achei a informação
t+