gcj/126: Incompatible inherited throws clause are not catched by gcj

joerg.brunsmann@fernuni-hagen.de joerg.brunsmann@fernuni-hagen.de
Thu Jan 6 03:16:00 GMT 2000


>Number:         126
>Category:       gcj
>Synopsis:       Incompatible inherited throws clause are not catched by gcj
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    apbianco
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Jan 06 03:16:00 PST 2000
>Closed-Date:
>Last-Modified:
>Originator:     joerg.brunsmann@fernuni-hagen.de
>Release:        unknown-1.0
>Organization:
>Environment:

>Description:
Incompatible inherited throws clause are not catched by gcj
>How-To-Repeat:
public class E1 extends Exception {}

public class E2 extends Exception {}

public class E3 extends E2 {}

abstract class X {

  abstract void f() throws E1, E3;
}

class Y extends X {

  void f() throws E1, E2 {
  }
}


compile these with

$ javac *.java

Y.java:4: The method void f() declared in class Y cannot override the method of the same signature declared in class X.  Their throws clauses are incompatible.
  void f() throws E1, E2 {
       ^
1 error

gcj doesn't spit out an error
>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the Java-prs mailing list