Ta reguła służy do oznaczania metod implementacji komponentów EJB zawierających klauzulę throws, która nie jest zgodna z odpowiednimi metodami interfejsu podstawowego lub interfejsu zdalnego. Klauzule throws muszą być zgodne. W przeciwnym razie kompilator RMI zgłosi błędy i nie będzie mógł wygenerować kodów pośredniczących RMI. Zostanie dostarczona automatyczna poprawka aby usunąć wyjątek, NullPointerException, z następującej metody implementacji fasoli.
Na przykład następujący wiersz jest zdefiniowany w interfejsie zdalnym:
throws SQLException,
IllegalStateException,
NullPointerException
< span class="indent"> {
// implementacja
}
Tylko klasy implementacji beanów są oznaczane przez regułę i zostaną zmienione. Jeśli interfejs jest niepoprawny, należy ręcznie zmienić interfejs, dodając brakujący wyjątek. Następnie należy ponownie przeprowadzić analizę.
Zadanie java.rmi.RemoteException nie jest kopiowany z interfejsów do implementacji komponentu bean. Implementacja komponentu bean nie powinna zgłaszać wyjątku RemoteException, ponieważ to działanie stanowi także naruszenie specyfikacji komponentów EJB.
Po dodaniu wyjątku należy dodać import, aby można go było rozwiązać. Jeśli wyjątek zostanie usunięty, import nie zostanie usunięty, ponieważ może być używany przez inne metody w klasie. Konieczne może być zorganizowanie importu tych kroków.
Błędy Java muszą zostać rozwiązane w definicji metody, zanim możliwe będzie wykrycie niezgodności w klauzuli throws. Jeśli wystąpią błędy języka Java, należy je poprawić i ponownie uruchomić analizę.