This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
Here is part of code in WizardDescriptor ( method "public void actionPerformed(ActionEvent ev)" ) : Runnable performFinish = new Runnable () { public void run () { err.log (Level.FINE, "performFinish entry."); // NOI18N Object oldValue = getValue(); // do instantiate try { callInstantiate(); setValueWithoutPCH(OK_OPTION); resetWizard(); } catch (IOException ioe) // notify to log err.log(Level.FINE, null, ioe); setValueWithoutPCH(NEXT_OPTION); updateStateWithFeedback(); // notify user by the wizard's status line putProperty(PROP_ERROR_MESSAGE, ioe.getLocalizedMessage()); // if validation failed => cannot move to next panel return; } catch (RuntimeException x) { // notify to log err.log(Level.FINE, null, x); setValueWithoutPCH(NEXT_OPTION); updateStateWithFeedback(); // notify user by the wizard's status line putProperty(PROP_ERROR_MESSAGE, x.getLocalizedMessage()); // if validation failed => cannot move to next panel return; } firePropertyChange(PROP_VALUE, oldValue, OK_OPTION); SwingUtilities.invokeLater (new Runnable () { public void run () { System.out.println( "---------- inside run just before firing action-----" ); // all is OK // close wizrad err.log (Level.FINE, "WD.finishOption.fireActionPerformed()"); finishOption.fireActionPerformed(); err.log (Level.FINE, "Set value to OK_OPTION."); setValue (OK_OPTION); } }); err.log (Level.FINE, "performFinish exit."); // NOI18N } }; You can see that all debug information here is put into log with level Level.FINE. This concerns also exceptions. It is very hard to understand where is the problem for developer of wizard iterator ( its own implementation ) without any signals pointed to this problem. I think ALL exceptions should be shown via ErrorManager with exception level, not just logged with Level.FINE. Because level Level.FINE is very low level and one need to know about this level and set it specially.
A patch is welcome.
I am not sure what is the best practice in such cases but I would prefer to use org.openide.ErrorManager.getDefault().notify(e); instead of err.log(Level.FINE, null, ioe); in each "catch" block .
Btw. ErrorManager is deprecated in NB6.0. Using java/logging is favoured. If I have seen the only one place where a Runtime exception is logger on FINE level is WizardDescriptor.resetWizard(). Maybe it could be logged as INFO but I guess it cannot be interesting to Wizard.Iterator implementor.
Yes, you are right about ErrorManager. I have missed this. Ok, so could you please just change log level Level.FINE to Level.SEVERE in each place where exception is caught in the part of code under subject ? I think this is acceptable minor change here.
Exceptions are logged with WARNING level in recent builds, closing.