Java & Exceptions

6 отговора 342 прегледа
#1

Java & Exceptions

Едно бързо питане .

В Java, проверката дали една функция хвърля повече exceptions отколкото са декларирани в throw(...) клаузата compile-time ли се прави само, или и run-time.
Демек ако подменя една библиотека с нова, която хвърля няколко нови типа exceptions, това ше счупи ли съществувашия код, който я ползва?

Сигнатура!
Отговор
в отговор на Questor #2

Re: Java & Exceptions

Programmer's rule number 9:

If you are not sure how something works, test it.


По въпроса, мисля че е само при компилиране.

Мечтата е мисъл, мисълта е идея, всяка идея се реализира. Аз не мечтая, а реализирам идеите си.
Отговор
в отговор на Duncan Griffin #3

Re: Java & Exceptions

A - заеби ти тестване - мен ме интересува по принцип, не дали е по един начин в J 1.x.y и по друг в J.p.q

То по тая логика стандартите и различните компилатори да го духат.

Редактирано от Questor на

Отговор
в отговор на Questor #4

Re: Java & Exceptions

На:
[линк]


The power of Google.

Редактирано от lngon на

Отговор
в отговор на lngon #5

Re: Java & Exceptions

мииии мерси, ама не ми отговаря на въпроса :)

Сигнатура!
Отговор
в отговор на Questor #6

Re: Java & Exceptions

Според спецификацията (частта Binary Compatibilty):

13.4.19 Method and Constructor Throws
Changes to the throws clause of methods or constructors do not break compatibility
with existing binaries; these clauses are checked only at compile time.

Предполагам, че подмененият клас се зарежда без проблеми. Вероятно, ако съотв. метод хвърли неочакван checked exception, това ще доведе до някакъв вид Error (от типа на наследниците на java.lang.IncompatibleClassChangeError).
Като имам време, ще експериментирам...

Отговор
в отговор на ьь #7

Re: Java & Exceptions

mersi

Сигнатура!
Отговор