Я пытаюсь усовершенствовать себя в Котлине с помощью функционального программирования.И тогда я сделал это:
Я устал от того, как я пишу try - catch, и создал следующую функцию:
package com.learning.functionalway
fun <T> tryCatch(t: T?, excpetion: (Throwable)): T? = try {
t
} catch (e: Exception) {
throw excpetion
}
И я использовал это так:
@Service
class ProductService(val repository: IProductRepository, val repositoryS: IStockRepository) : IService<Product, ProductModel> {
override fun find(id: Long) = tryCatch(
repository.find(id),
DataNotFound("Product not found"))
other methods ..
}
И мое исключение, которое я имею в виду в «Обработчике исключений»
class DataNotFound(message: String?) : Exception(message) {
}
Это правильный путь, который я использовал, чтобы изменить способ, которым я использую try - catch?Или есть лучшие способы сделать это?