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.
Steps to reproduce: - Reverse Engineer 'void testBlockTryCatch()' method from 'TestBlockTryCatch' class and create a Sequence diagram: --------------------------------------------------------------- public class TestBlockTryCatch { public void testBlockTryCatch() { try { Thread.sleep(1000); }catch(InterruptedException e){ System.out.println(e); }catch(Exception e){ System.out.println(e); }catch(Throwable e){ System.out.println(e); }finally{ Thread.currentThread().getName(); } } } --------------------------------------------------------------- - The expression label for 'catch(Exception e)' statement has wrong 'InterruptedExceptionException e' value - The expression label for 'catch(Throwable e)' statement has wrong 'InterruptedExceptionExceptionThrowable' value
Created attachment 42638 [details] wrong values for catch statements on sequence diagram
It is a regression from fix of issue 78414 There is an empty expression body for 'catch' block
This is a terrible hack. But the dependency on the nodes dictated something similar. I do not know why the MethodExceptionProcessingStateHandler was using the identifier to store the exception names. Added a condition at the beginning of Idetifier.getIdentifierAsUML to check for a DUMMY_FLAG. If the dummy flag is present, the value of the last token is returned instead of the concatenated names of all the tokens.
verified in instrumented build 200709180324. The message for "Thread.sleep(1000)" operation is missing from the generated sequence diagram. re-open.
Created attachment 49112 [details] sequence diagram missing message
must have been fixed as a result of other code. Can no longer reproduce. (9/27)
verified in trunk build 20071010132728