Pessoal, alguém pode me ajudar, tá ocorrendo direto esse erro, debugo mas não consigo encontrar onde está o problema.
posta o codigo aí, pra gente dar uma olhada…
numa analogia mais crua, o que acontece é o seguinte:
vc ta interrogando um suspeito. porem se o suspeito for um defunto, isso é, um objeto nulo, vc não pode interrogar, ele nunca vai responder alguma coisa.
vc precisa descobrir então pq esta chamando um método de um objeto que é nulo. 
Eis o código:
O objetivo é abrir um RTF que está na minha pasta, Francisco, e substituir algumas constantes que defini no arquivo pelo valor dos campos (getNOMECAMPO()). Está dando NULLPOINTER na 7ª linha desse código:
String texto = readFile(new File("C:\Francisco\Psurl.rtf"));
texto = replace(texto,"#NOME_DO_MEDICAMENTO#",print.toString(msu.getMSU_NOME_MEDICAMENTO()));
texto = replace(texto,"#PRINCIPIO_ATIVO#",print.toString(msu.getMSU_PRINCIPIO_ATIVO()));
texto = replace(texto,"#DATA_RELATORIO_DE#",print.toString(ps.getDATA_DE()));
texto = replace(texto,"#DATA_RELATORIO_PARA#",print.toString(ps.getDATA_PARA()));
texto = replace(texto,"#INDICACAO#",print.toString(msu.getMSU_INDICACAO()));
texto = replace(texto,"#FORMA_FARMACEUTICA#",print.toString(msu.getMSU_FORMA_FARMACEUTICA()));
texto = replace(texto,"#NUMERO_PACIENTES#",print.toString(pacmed.getPAC_QTDE()));
texto = replace(texto,"#NUMERO_RELATOS#",print.toString(relmed.getREL_QTDE()));
texto = replace(texto,"#NUMERO_EVENTO_ADVERSO#",print.toString(evemed.getEVE_QTDE()));
texto = replace(texto,"#NUMERO_EVENTO_PROF_SAUDE#",print.toString(evprofmed.getEVE_QTDE()));
texto = replace(texto,"#NUMERO_EVENTO_CONSUMIDOR#",print.toString(evconsmed.getEVE_QTDE()));
texto = replace(texto,"#NUMERO_PAC_GRAVIDA#",print.toString(gravmed.getGRAV_QTDE()));
texto = replace(texto,"#SERIEDADE_EVENTO#",print.toString(sermed.getSER_QTDE()));
texto = replace(texto,"#TABELA_EVENTOS_NÃO_MEDICAMENTE_CONFIRMADOS#",print.toString(evnconf.getPAC_QTDE()));
texto = replace(texto,"#TABELA_EVENTOS_MEDICAMENTE_CONFIRMADOS#",print.toString(evconf.getPAC_QTDE()));
texto = replace(texto,"#QTDE_TRELATO_ESP#",print.toString(trelmed.getQTDE_TRELATO()));
texto = replace(texto,"#SERIEDADE_EVENTO_SERIO_PROF_SAUDE#",print.toString(serprofmed.getSER_QTDE()));
texto = replace(texto,"#SERIEDADE_EVENTO_NAO_SERIO_PROF_SAUDE#",print.toString(nserprofmed.getSER_QTDE()));
texto = replace(texto,"#SERIEDADE_EVENTO_SERIO_CONS#",print.toString(serconsmed.getSER_QTDE()));
texto = replace(texto,"#SERIEDADE_EVENTO_NAO_SERIO_CONS#",print.toString(nserconsmed.getSER_QTDE()));
texto = replace(texto,"#NUM_EVENTOS_EXA_LAB#",print.toString(sgrav.getPAC_QTDE()));
texto = replace(texto,"#NUM_EVENTOS_DES_GERAIS#",print.toString(dgeral.getPAC_QTDE()));
texto = replace(texto,"#NUM_EVENTOS_DES_PELE_E_ANEXOS#",print.toString(dpanex.getPAC_QTDE()));
texto = replace(texto,"#NUM_EVENTOS_DES_PSIQUICAS#",print.toString(dpsiq.getPAC_QTDE()));
texto = replace(texto,"#NUM_EVENTOS_DES_SIST_CARDIO#",print.toString(dscard.getPAC_QTDE()));
texto = replace(texto,"#NUM_EVENTOS_DES_SIST_GASTRO#",print.toString(dsgast.getPAC_QTDE()));
texto = replace(texto,"#NUM_EVENTOS_DES_SIST_GENITO_URINARIO#",print.toString(dsgenuri.getPAC_QTDE()));
texto = replace(texto,"#NUM_EVENTOS_DES_SIST_MUSCULO_ESQUELETICO#",print.toString(dsmesq.getPAC_QTDE()));
texto = replace(texto,"#NUM_EVENTOS_DES_SIST_NERVOSO#",print.toString(dsistner.getPAC_QTDE()));
texto = replace(texto,"#NUM_EVENTOS_DES_SIST_RESPIRATORIO#",print.toString(dresp.getPAC_QTDE()));
texto = replace(texto,"#NUM_EVENTOS_DES_SIST_OCULAR#",print.toString(dsocu.getPAC_QTDE()));
texto = replace(texto,"#NUM_EVENTOS_DES_BAL_HIDR#",print.toString(dmetnut.getPAC_QTDE()));
texto = replace(texto,"#TIPO_RELATO#",print.toString(trelmed.getTREL_DESCRICAO()));
texto = replace(texto,"#EVES_QTDE#",print.toString(evsnconf.getPAC_QTDE()));
texto = replace(texto,"#SX_FEM_QT#",print.toString(distsexf.getSEX_QTDE()));
texto = replace(texto,"#SX_MASC_QT#",print.toString(distsexm.getSEX_QTDE()));
texto = replace(texto,"#SX_DESC_QT#",print.toString(distsexd.getSEX_QTDE()));
texto = replace(texto,"#SX_TOTAL#",print.toString(distsex.getSEX_QTDE()));
texto = replace(texto,"#EVENS_QTDE#",print.toString(evensmed.getEVE_QTDE()));
texto = replace(texto,"#INGESTAO_INTENCIONAL#",print.toString(ingint.getQTDE_INGESTAO_INTENCIONAL()));
texto = replace(texto,"#INGESTAO_ACIDENTAL#",print.toString(ingacid.getQTDE_INGESTAO_ACIDENTAL()));
EDIT - Por favor, use os tags [ code ]
[quote=peczenyj]numa analogia mais crua, o que acontece é o seguinte:
vc ta interrogando um suspeito. porem se o suspeito for um defunto, isso é, um objeto nulo, vc não pode interrogar, ele nunca vai responder alguma coisa.
vc precisa descobrir então pq esta chamando um método de um objeto que é nulo. ;-)[/quote]
huahuahauhauha Essa eu nunca tinha ouvido!!! Muito BOM!!! vou anotar! hehehe
Cara até entendo que vc tenha achado engraçado, mas o troço é bem sério e preciso resolver isso
Não se trata de falar algo engraçado.
Tipo, vc vem e pergunta (genericaemnte) sobre null pointer exception.
Sem ver o codigo e alguma informação sobre a exception, pode ser QUALQUER coisa. pode ser um nome errado, algo difernente, sei la, não tenho bola de cristal.
Agora vc postou um baita codigo. Se o erro ta na linha 7, eu não consigo imaginar porque esta dando isso. Aparentemente ele está “certo”. Se vc postar mais alguma informação sobre o erro que esta acontecendo, como fornecer o stacktrace, etc, ai quem sabe a gente possa te ajudar mais.
ok, aí vai.
java.lang.reflect.InvocationTargetException
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:324)
at com.luxfacta.framework.servlet.PostServlet.doPost(PostServlet.java:215)
at com.luxfacta.framework.servlet.PostServlet.doGet(PostServlet.java:57)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:534)
Caused by: java.lang.NullPointerException
at com.luxfacta.farmaco.logic.RelatoLogic.processa(RelatoLogic.java:1320)
... 32 more
java.lang.NullPointerException
at com.luxfacta.farmaco.logic.RelatoLogic.processa(RelatoLogic.java:1320)
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:324)
at com.luxfacta.framework.servlet.PostServlet.doPost(PostServlet.java:215)
at com.luxfacta.framework.servlet.PostServlet.doGet(PostServlet.java:57)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:534)
kra, se vc tem certeza q o erro tah na linha 7, posta aí a classe q o objeto “msu”, tá implementando. Pois se as linhas anteriores tão rodando, está tb deveria, pode ser problema na hora do resgate dos dados dessa classe.
Desculpe, peczenyj, aquele momento me referi ao comentário do tecnoage e não ao que você tinha postado antes. Vc tem razão, agora o tal do tecnoage é que ficou zoando e não me ajudou em nada. Bem, será que ajudou o que postei, é isso mesmo que vc pediu?
Aí está, é uma baita classe!
[code]
public class MedSuspeito extends ValueObject {
private int msu_id;
private int rel_id;
private int tme_id;
private int msu_cod_medicamento;
private String msu_nome_medicamento;
private String msu_principio_ativo;
private int msu_cod_apresentacao;
private String msu_apresentacao;
private String msu_forma_farmaceutica;
private String msu_concentracao;
private String msu_indicacao;
private String msu_prescrito;
//private String msu_data_inicio;
private String msu_ainda_tratamento;
private String msu_data_termino;
private String msu_duracao_tratamento;
private String msu_ingestao_acidental;
private String msu_ingestao_intencional;
private int msu_dose;
private int uni_id_msu;
private int fre_id_msu;
private int msu_dosagem_total;
private String msu_lote;
private String msu_validade;
private int ams_id;
private String msu_data_pri_dose;
private int vad_id_msu;
private String msu_med_suspenso;
private String msu_houve_reexp;
private String msu_susp_prov_melhora;
private String msu_posologia_alt;
private String msu_posologia_alt_cite;
public String getMSU_POSOLOGIA_ALT() {
return msu_posologia_alt;
}
public void setMSU_POSOLOGIA_ALT(String value) {
msu_posologia_alt = value;
}
public String getMSU_POSOLOGIA_ALT_CITE() {
return msu_posologia_alt_cite;
}
public void setMSU_POSOLOGIA_ALT_CITE(String value) {
msu_posologia_alt_cite = value;
}
public int getMSU_ID() {
return msu_id;
}
public void setMSU_ID(int value) {
msu_id = value;
}
public int getREL_ID() {
return rel_id;
}
public void setREL_ID(int value) {
rel_id = value;
}
public int getTME_ID() {
return tme_id;
}
public void setTME_ID(int value) {
tme_id = value;
}
public int getMSU_COD_MEDICAMENTO() {
return msu_cod_medicamento;
}
public void setMSU_COD_MEDICAMENTO(int value) {
msu_cod_medicamento = value;
}
public String getMSU_NOME_MEDICAMENTO() {
return msu_nome_medicamento;
}
public void setMSU_NOME_MEDICAMENTO(String value) {
msu_nome_medicamento = value;
}
public String getMSU_PRINCIPIO_ATIVO() {
return msu_principio_ativo;
}
public void setMSU_PRINCIPIO_ATIVO(String value) {
msu_principio_ativo = value;
}
public int getMSU_COD_APRESENTACAO() {
return msu_cod_apresentacao;
}
public void setMSU_COD_APRESENTACAO(int value) {
msu_cod_apresentacao = value;
}
public String getMSU_APRESENTACAO() {
return msu_apresentacao;
}
public void setMSU_APRESENTACAO(String value) {
msu_apresentacao = value;
}
public String getMSU_FORMA_FARMACEUTICA() {
return msu_forma_farmaceutica;
}
public void setMSU_FORMA_FARMACEUTICA(String value) {
msu_forma_farmaceutica = value;
}
public String getMSU_CONCENTRACAO() {
return msu_concentracao;
}
public void setMSU_CONCENTRACAO(String value) {
msu_concentracao = value;
}
public String getMSU_INDICACAO() {
return msu_indicacao;
}
public void setMSU_INDICACAO(String value) {
msu_indicacao = value;
}
public String getMSU_PRESCRITO() {
return msu_prescrito;
}
public void setMSU_PRESCRITO(String value) {
msu_prescrito = value;
}
/*
public String getMSU_DATA_INICIO() {
return msu_data_inicio;
}
public void setMSU_DATA_INICIO(String value) {
msu_data_inicio = value;
}
*/
public String getMSU_AINDA_TRATAMENTO() {
return msu_ainda_tratamento;
}
public void setMSU_AINDA_TRATAMENTO(String value) {
msu_ainda_tratamento = value;
}
public String getMSU_DATA_TERMINO() {
return msu_data_termino;
}
public void setMSU_DATA_TERMINO(String value) {
msu_data_termino = value;
}
public String getMSU_DURACAO_TRATAMENTO() {
return msu_duracao_tratamento;
}
public void setMSU_DURACAO_TRATAMENTO(String value) {
msu_duracao_tratamento = value;
}
public String getMSU_INGESTAO_ACIDENTAL() {
return msu_ingestao_acidental;
}
public void setMSU_INGESTAO_ACIDENTAL(String value) {
msu_ingestao_acidental = value;
}
public String getMSU_INGESTAO_INTENCIONAL() {
return msu_ingestao_intencional;
}
public void setMSU_INGESTAO_INTENCIONAL(String value) {
msu_ingestao_intencional = value;
}
public int getMSU_DOSE() {
return msu_dose;
}
public void setMSU_DOSE(int value) {
msu_dose = value;
}
public int getUNI_ID_MSU() {
return uni_id_msu;
}
public void setUNI_ID_MSU(int value) {
uni_id_msu = value;
}
public int getFRE_ID_MSU() {
return fre_id_msu;
}
public void setFRE_ID_MSU(int value) {
fre_id_msu = value;
}
public int getMSU_DOSAGEM_TOTAL() {
return msu_dosagem_total;
}
public void setMSU_DOSAGEM_TOTAL(int value) {
msu_dosagem_total = value;
}
public String getMSU_LOTE() {
return msu_lote;
}
public void setMSU_LOTE(String value) {
msu_lote = value;
}
public String getMSU_VALIDADE() {
return msu_validade;
}
public void setMSU_VALIDADE(String value) {
msu_validade = value;
}
public int getAMS_ID() {
return ams_id;
}
public void setAMS_ID(int value) {
ams_id = value;
}
public String getMSU_DATA_PRI_DOSE() {
return msu_data_pri_dose;
}
public void setMSU_DATA_PRI_DOSE(String value) {
msu_data_pri_dose = value;
}
public int getVAD_ID_MSU() {
return vad_id_msu;
}
public void setVAD_ID_MSU(int value) {
vad_id_msu = value;
}
public String getMSU_MED_SUSPENSO() {
return msu_med_suspenso;
}
public void setMSU_MED_SUSPENSO(String msu_med_suspenso) {
this.msu_med_suspenso = msu_med_suspenso;
}
public String getMSU_HOUVE_REEXP() {
return msu_houve_reexp;
}
public void setMSU_HOUVE_REEXP(String msu_houve_reexp) {
this.msu_houve_reexp = msu_houve_reexp;
}
public String getMSU_SUSP_PROV_MELHORA() {
return msu_susp_prov_melhora;
}
public void setMSU_SUSP_PROV_MELHORA(String value) {
msu_susp_prov_melhora = value;
}
public String[] getPrimaryKeys() {
return new String[] {"MSU_ID"};
}
public String getDataTable() {
return "FVI_T_MED_SUSPEITO";
}
public String getSequenceName() {
return "FVI_SQ_MED_SUSPEITO";
}
}[/code]
Cara, vai isolando o erro:
try {
// codigo da linha 7
} catch (java.lang.NullPointerException npe){
npe.printStackTrace();
}
Se ocorrer um erro nessa linha, esse codigo vai imprimir o stacktrace do erro. Ai vc vai investigando ate encontrar o motivo pelo qual vc tem esse erro. Pode ser algo trivial ou não, depende do problema, mas vai isolando ate encontrar 
Valeu cara, descobri que o erro está nesta linha:
texto = replace(texto,"#NUMERO_PACIENTES#",print.toString(pacmed.getPAC_QTDE()));
na verdade, trata-se da linha 8
e o código desta classe é:
public class PacMed extends ValueObject{
private int PAC_QTDE;
private int COD_PRODUTO;
private String PRODUTO;
public int getCOD_PRODUTO() {
return COD_PRODUTO;
}
public void setCOD_PRODUTO(int cod_produto) {
COD_PRODUTO = cod_produto;
}
public int getPAC_QTDE() {
return PAC_QTDE;
}
public void setPAC_QTDE(int pac_qtde) {
PAC_QTDE = pac_qtde;
}
public String getPRODUTO() {
return PRODUTO;
}
public void setPRODUTO(String produto) {
PRODUTO = produto;
}
public String[] getPrimaryKeys() {
return null;
}
public String getDataTable() {
return null;
}
public String getSequenceName() {
return null;
}
}
Cara, continuarei tentando…
Você está inicializando o objeto pacmed? Em algum lugar antes de executar a linha 8, você tem que dar um new:
Pacmed pacmed = new PacMed()
Por exemplo:
PacMed pacmed;
pacmed.getPAC_QTDE(); // ====> NullPointerException
PacMed pacmed2;
[color=red]pacmed2 = new PacMed();[/color]
pacmed2.getPAC_QTDE(); // ====> OK
Obrigado, JavaPlayer, era esse o problema, algo trivial, mas escapou-me. Valeu! Funfou!
Obrigado a todos
Só uma coisa foi vc que criou essas classes?
Só um detalhe se atenha aos padrões para definições de nomes de métodos e atributos