Короче говоря:
В последней итерации
for(int i = 0; i<=name.length; i++) {
i
будет равно name.length
, что является незаконным индексом, так как индексы массива равны нулю, основанный.
Ваш код должен читать
for(int i = 0; i < name.length; i++)
^
Подобно упоминанию @Stultuske в комментариях, вы можете найти причину внутри стековой трассировки
Найти первую запись с наименованием вашего пакета. В вашем случае ищите patientmanagementsystemv2.gui
java.io.NotSerializableException: patientmanagementsystemv2.items.Appointments
...
at patientmanagementsystemv2.gui.PatientHomePage.formWindowClosing(PatientHomePage.java:294)
at patientmanagementsystemv2.gui.PatientHomePage.access[110](PatientHomePage.java:28)
at patientmanagementsystemv2.gui.PatientHomePage$1.windowClosing(PatientHomePage.java:133)
...
В верхней части вашей трассировки стека вы можете видеть, что у вас есть NotSerializableException
в patientmanagementsystemv2.gui.PatientHomePage.formWindowClosing(PatientHomePage.java:294
.
blockquote>
java.io.NotSerializableException: patientmanagementsystemv2.items.Appointments
Тип ссылки
Appointments
, по-видимому, не реализуетSerializable
, и ошибка возникает из-за попытки сериализации в методformWindowClosing
сout.writeObject(model)
экземпляромAppointments
.Изменить
Appointments
Если у вас есть класс, просто напишите
public class Appointments implements Serializable { // ... }
Но вы ожидали
IOException
С
catch(IOException ex)
вы поймаете [ 1114] и все его подклассы, включаяNotSerializableException
.