Не могу реализовать методы getAt() и Add() с помощью исключения в kotlin

начал создавать класс и возникли сложности в реализацией методов. Сами методы должны быть описаны по этому принципу(внизу мой код)

метод getAt(index: Int) - метод, который принимает индекс элемента и возвращает сам элемент по этому индексу. Если такого элемента нет, то данный метод должен возвращать исключение. Программа должна уметь обрабатывать данное исключение и писать в консоль при обработке следующий текс "Ошибка получения элемента по индексу <Номер индекса>".(смог создать обработку текста в консоль, а само исключение вообще не понял как должно быть реализовано)

Реализовать в классе метод add - который будет принимать тип данных самого элемента данного списка. (Например, если был создан список строк, то сроку, если был создан список чисел, то число и т.д.) - тут не до конца понял как должен быть принят тип данных из списка

***class MyList<T> {
    private val list: MutableList<T> = mutableListOf()
    fun getAt(index: Int) {
        try {
        }
        catch (e: Exception) {
          println("Ошибка получения элемента по индексу $index")
        }
    }
    fun add(elemet: T) {
    
    }
}***

Ответы (1 шт):

Автор решения: Wlad
class MyList<T> {
    private val list: MutableList<T> = mutableListOf()

    fun getAt(index: Int): T? {
        return if (index < list.size) {
            list[index]
        } else {
            throw MyException("Ошибка получения элемента по индексу $index")
        }
    }

    fun add(elemet: T) {
        list.add(elemet)
    }

    class MyException(message: String) : Exception(message)
}
→ Ссылка