Foro de elhacker.net

Programación => Java => Mensaje iniciado por: taos19 en 18 Marzo 2014, 20:48 pm



Título: No encuentro el error
Publicado por: taos19 en 18 Marzo 2014, 20:48 pm
Buen Dia amigos

Estoy limpiando el codigo de mi aplicacion y este error no lo he podido depurar.

El error aparece en la linea 39

Código
  1. public PnlInsumosProyecto(final PnlProyectos pnlProyectos, final Long idProyecto)
  2.   {
  3.     try
  4.     {
  5.       this.idProyecto = idProyecto;
  6.       this.pnlProyectos = pnlProyectos;
  7.       this.proyIngCivilServices = ((IntrProyIngCivilServices)BeanService.getInstance("app").getService("proyIngCivilServices"));
  8.       initComponents();
  9.       CenterCellRenderer centerCellRenderer = new CenterCellRenderer();
  10.       this.tbInsumosProyecto.getColumn(0).setCellRenderer(new CustomCellRendererSubproductos());
  11.       this.tbInsumosProyecto.getColumn(1).setCellRenderer(centerCellRenderer);
  12.       this.tbInsumosProyecto.getColumn(0).setPreferredWidth(600);
  13.       this.tbInsumosProyecto.getColumn(2).setCellRenderer(new CustomCellRenderer(Main.decimalformatvalores));
  14.       cargarValoresTipo();
  15.       cargarDatos();
  16.       this.dlgInsumo.pack();
  17.       this.dlgInsumo.setLocationRelativeTo(null);
  18.       this.tbInsumosProyecto.getModel().addTableModelListener(new TableModelListener()
  19.       {
  20.         public void tableChanged(TableModelEvent evt)
  21.         {
  22.           if (PnlInsumosProyecto.this.tbInsumosProyecto.getSelectedRowCount() <= 0) {
  23.             return;
  24.           }
  25.           if (PnlInsumosProyecto.this.tbInsumosProyecto.getSelectedRow() >= PnlInsumosProyecto.this.insumosProyecto.size()) {
  26.             return;
  27.           }
  28.           Map inSel = (Map)PnlInsumosProyecto.this.insumosProyecto.get(PnlInsumosProyecto.this.tbInsumosProyecto.getSelectedRow());
  29.           List<Map> datGuardar = new ArrayList();
  30.           datGuardar.add(inSel);
  31.           try
  32.           {
  33.             PnlInsumosProyecto.this.proyIngCivilServices.guardarInsumosProyecto(datGuardar);
  34.             pnlProyectos.recalcularItemsAndProyecto();
  35.             new Thread(new Runnable()
  36.             {
  37.               public void run()
  38.               {
  39.                 PnlInsumosProyecto.1.this.val$pnlProyectos.cargarInsumosMaestrosProyecto(PnlInsumosProyecto.1.this.val$idProyecto);
  40.               }
  41.             }).start();
  42.           }
  43.           catch (Exception e)
  44.           {
  45.             Dialogos.mostrarExcepcion(new Frame(), e);
  46.           }
  47.         }
  48.       });
  49.       centrarTitulosTabla(this.tbInsumosProyecto);
  50.     }
  51.     catch (Exception e)
  52.     {
  53.       Dialogos.mostrarExcepcion(this, e);
  54.     }
  55.   }
  56.  

Gracias de antemano por la colaboracion

PD. Perdon por la insercion equivocada. No sabia hacerlo


Título: Re: No encuentro el error
Publicado por: Mitsu en 18 Marzo 2014, 21:04 pm
Hola,

Cuando crees algún tema, coloca el código entre etiquetas Geshi (en el editor ahí hay puedes cambiar el coloreado de código). Hazlo porque nadie se va a molestar en leer tu código en ese estado. Hazlo para poder ayudarte.

¿Qué excepción lanza? Realiza un printStackTrace() y pega lo que te arroja para ver cuál es el posible problema, o quieres decir que el spellchecking te da error en la línea 39 y no te deja compilar?

Si es lo primero, ya sabes qué hacer, si es lo segundo, pon aquí el mensaje del error que marca.

Salu2


Título: Re: No encuentro el error
Publicado por: taos19 en 18 Marzo 2014, 21:46 pm
¿Qué excepción lanza? Realiza un printStackTrace() y pega lo que te arroja para ver cuál es el posible problema, o quieres decir que el spellchecking te da error en la línea 39 y no te deja compilar?

Si es lo primero, ya sabes qué hacer, si es lo segundo, pon aquí el mensaje del error que marca.

Saludos...

este es el mensaje que aparece ...


Dominus SAS
 

Message:
    java.lang.NullPointerException
Level:
    ALL
Stack Trace:
null
    com.bs.civ.ui.PnlAnalisisUnitario.totalPorcxUnidad(PnlAnalisisUnitario.java:539)
    com.bs.civ.ui.PnlAnalisisUnitario.totalSubProducto(PnlAnalisisUnitario.java:484)
    com.bs.civ.ui.PnlAnalisisUnitario.modelToView(PnlAnalisisUnitario.java:461)
    com.bs.civ.ui.PnlAnalisisUnitario.cambiarFilaSeleccion(PnlAnalisisUnitario.java:266)
    com.bs.civ.ui.PnlAnalisisUnitario.tblTablaValueChanged(PnlAnalisisUnitario.java:252)
    com.bs.civ.ui.PnlAnalisisUnitario.access$700(PnlAnalisisUnitario.java:72)
    com.bs.civ.ui.PnlAnalisisUnitario$3.valueChanged(PnlAnalisisUnitario.java:637)
    javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:184)
    javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:164)
    javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:211)
    javax.swing.DefaultListSelectionModel.changeSelection(DefaultListSelectionModel.java:405)
    javax.swing.DefaultListSelectionModel.changeSelection(DefaultListSelectionModel.java:415)
    javax.swing.DefaultListSelectionModel.setSelectionInterval(DefaultListSelectionModel.java:459)
    com.bs.civ.ui.PnlAnalisisUnitario.cargarDatos(PnlAnalisisUnitario.java:317)
    com.bs.civ.ui.PnlAnalisisUnitario.cmbBasesMaestrasActionPerformed(PnlAnalisisUnitario.java:1053)
    com.bs.civ.ui.PnlAnalisisUnitario.access$900(PnlAnalisisUnitario.java:72)
    com.bs.civ.ui.PnlAnalisisUnitario$5.actionPerformed(PnlAnalisisUnitario.java:663)
    javax.swing.JComboBox.fireActionEvent(JComboBox.java:1260)
    javax.swing.JComboBox.contentsChanged(JComboBox.java:1331)
    javax.swing.AbstractListModel.fireContentsChanged(AbstractListModel.java:118)
    com.jedasoft.swing.GeneralComboBoxModel.setSelectedItem(GeneralComboBoxModel.java:35)
    com.jedasoft.swing.GeneralComboBoxModel.setSelectedItemById(GeneralComboBoxModel.java:62)
    com.jedasoft.swing.binding.Bindings.modelToView(Bindings.java:81)
    com.bs.civ.ui.PnlAnalisisUnitario.iniciar(PnlAnalisisUnitario.java:328)
    com.jedasoft.swing.ui.ContenedorBtn.iniciar(ContenedorBtn.java:123)
    com.jedasoft.swing.ui.PnlCentralUnique$1.run(PnlCentralUnique.java:68)
    java.lang.Thread.run(Thread.java:744)


Título: Re: No encuentro el error
Publicado por: Mitsu en 18 Marzo 2014, 21:59 pm
¿No te ha lanzado la causa: Caused By: ? Allí te indica la línea espcecífica en donde el rastreo de pila detecto que se lanzó la excepción.

La excepción es NullPointerException, éste tipo de excepciones se lanzan cuando se está intentado acceder a propiedades u objetos que aún no han sido inicializados. Cuando no instancias un objeto o propiedad, su valor es nulo (no apunta a nada).

Supongamos que tenemos una clase Carro:
Código
  1. public class Carro {
  2. private int numeroLlantas;
  3. private String color;
  4.  
  5. public Carro() {}
  6. public Carro(int numeroLlantas, String color) {
  7. this.numeroLlantas = NumeroLlantas;
  8. this.color = color;
  9. }
  10.  
  11. public int getNumeroLlantas() {
  12. return numeroLlantas;
  13. }
  14.  
  15. public String getColor() {
  16. return color;
  17. }
  18.  
  19. // setters
  20.  
  21. }

E intentáramos acceder a la propiedad color, tendríamos una excepción de tipo NullPointerException, ya que hemos intentado acceder a una propiedad que no ha sido inicializada:

Código
  1. Carro micarro = new Carro();
  2. String color = micarro.getColor(); // NullPointerException


Trata de poner el código completo que te lanza printStackTrace(), allí generalmente dice CausedBy y te indica la causa, la clase y en qué linea se ha lanzado la excepción. Salu2.

Ejemplo:
Código
  1. Exception in thread "main" org.hibernate.exception.SQLGrammarException: could not execute statement
  2. at org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:123)
  3. at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:49)
  4. at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:125)
  5. at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:110)
  6. at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:136)
  7. at org.hibernate.engine.jdbc.batch.internal.NonBatchingBatch.addToBatch(NonBatchingBatch.java:58)
  8. at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3067)
  9. at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3509)
  10. at org.hibernate.action.internal.EntityInsertAction.execute(EntityInsertAction.java:88)
  11. at org.hibernate.engine.spi.ActionQueue.execute(ActionQueue.java:377)
  12. at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:369)
  13. at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:286)
  14. at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:339)
  15. at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:52)
  16. at org.hibernate.internal.SessionImpl.flush(SessionImpl.java:1234)
  17. at org.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:404)
  18. at org.hibernate.engine.transaction.internal.jdbc.JdbcTransaction.beforeTransactionCommit(JdbcTransaction.java:101)
  19. at org.hibernate.engine.transaction.spi.AbstractTransactionImpl.commit(AbstractTransactionImpl.java:175)
  20. at pe.edu.unp.dao.LibroDAOI.guardar(LibroDAOI.java:39)
  21. at pe.edu.unp.biblioteca.Biblioteca.main(Biblioteca.java:18)
  22. Caused by: org.postgresql.util.PSQLException: ERROR: column "titul" of relation "libro" does not exist // AQUI LA CAUSA DE LA EXCEPCION!
  23.  Position: 79
  24. at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2161)
  25. at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1890)
  26. at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255)
  27. at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:559)
  28. at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:417)
  29. at org.postgresql.jdbc2.AbstractJdbc2Statement.executeUpdate(AbstractJdbc2Statement.java:363)
  30. at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:133)
  31. ... 15 more
  32. Java Result: 1


Título: Re: No encuentro el error
Publicado por: taos19 en 18 Marzo 2014, 22:12 pm
Gracias por todo el tiempo y la explicacion. Ya voy a intentar solucionarlo y le cuento