You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Suppose that A.m() is the source method. In migrating it to I, we now have a mismatch between the exception types thrown. Specifically, I.m() declares that it throws Exception, while A.m() declares that it throws IOException. In fact, picking either of these exception types for the target method would result in an error.
There are two issues here, I believe. First, we should not allow exception type mismatches (will create a new issue for this). Second, we need an issue to possibly relax this precondition. In the above situation, there's just nothing we can do. However, using intra-procedural analysis, it is possible to see which exception type to pick.
The text was updated successfully, but these errors were encountered:
Consider the following valid input source code:
Suppose that
A.m()
is the source method. In migrating it toI
, we now have a mismatch between the exception types thrown. Specifically,I.m()
declares that it throwsException
, whileA.m()
declares that it throwsIOException
. In fact, picking either of these exception types for the target method would result in an error.There are two issues here, I believe. First, we should not allow exception type mismatches (will create a new issue for this). Second, we need an issue to possibly relax this precondition. In the above situation, there's just nothing we can do. However, using intra-procedural analysis, it is possible to see which exception type to pick.
The text was updated successfully, but these errors were encountered: