-
Key: KDM14-16
-
Legacy Issue Number: 11710
-
Status: closed
-
Source: KDM Analytics ( Dr. Nikolai Mansourov)
-
Summary:
throws example in the spec is incomplete
-
Reported: KDM 1.0 — Sat, 1 Dec 2007 05:00 GMT
-
Disposition: Resolved — KDM 1.4
-
Disposition Summary:
Add throws example
class A {
{ println("Something went wrong"); }
void foo() {
try{
bar();
catch(Exception e)finally
{ println("Good bye"); }}
{ this.arr[20] = 20; println(arr); }
void bar() throws MoreDescriptiveException{
trycatch (IndexOutOfBoundsException e)
{ println("Oops"); throw new "went too far" }finally
{ println(arr); }}
int[] arr = new int[10]
}Some comments:
Some of the AbstractCodeElements are BlockUnits. I would have used EntryFlows instead of regular Flows, but that might be a matter of choice.
1. TryUnitentryFlow> ActionElement[kind='Call'] not required?
2. I see that we need to create new Exception to send. That's the revision I attached. I did a pass to do the changes, but I hope I got the numbering right (done manually).<!-- Create the Exception, no constructor called -->
<codeElement xmi:id="id.47" xmi:type="action:ActionElement" name="a8" kind="New">
<codeElement xmi:id="id.48" xmi:type="code:StorableUnit" type="id.67" kind="local"/>
<actionRelation xmi:id="id.49" xmi:type="action:Creates" to="id.48" from="id.47"/>
<actionRelation xmi:id="id:50" xmi:type="action:Flow" to="id.50" from="id.47"/>
</codeElement><!-- Throw statement -->
<codeElement xmi:id="id.51" xmi:type="action:ActionElement" name="a9" kind="Throw">
<actionRelation xmi:id="id.52" xmi:type="action:Throws" from="id.51" to="id.48"/>
</codeElement> -
Updated: Tue, 12 Jul 2016 14:44 GMT