मैं है निम्नलिखित एपीआई:जावा एपीआई तोड़
public class MyApiImpl {
public void method() throws MyException {
if (C1) {
throw new MyException("c1 message");
} else if (c2) {
throw new MyException("c2 message");
}
...
}
}
आप कार्य करें:
public interface MyApi {
/**
* Performs some stuff.
* @throws MyException if condition C1
*/
public void method() throws MyException;
}
अब मैं अपने API कार्यान्वयन में निम्नलिखित संशोधन प्रदर्शन कर रहा हूँ
public class MyApiImpl {
public void method() throws MyException {
if (C1) {
throw new MyException("c1 message");
}
...
}
}
ने ले ली है इसे एपीआई ब्रेकेज के रूप में मानें?
ग्राहक का कोड अभी भी संकलित होगा लेकिन एपीआई जावाडोक द्वारा परिभाषित विधि अनुबंध अब और अधिक सम्मानित नहीं है क्योंकि MyExcepiton को "नई" स्थिति से फेंक दिया गया है।
यदि केवल मेरी एपीआई जार फ़ाइल अपडेट की गई है, तो क्लाइंट एप्लिकेशन अभी भी काम करेगा, लेकिन क्लाइंट अपवाद को पकड़ने के तरीके के आधार पर एप्लिकेशन व्यवहार बहुत बदल सकता है।
उस पर आपका क्या दृष्टिकोण है?