Make exception handler last argument
This commit is contained in:
@@ -23,10 +23,10 @@ abstract class ChainedRunnablePart<T, R>(
|
|||||||
* any Spigot API functions requires it to be sync)
|
* any Spigot API functions requires it to be sync)
|
||||||
*/
|
*/
|
||||||
inline fun <reified E : Exception> executeCatching(
|
inline fun <reified E : Exception> executeCatching(
|
||||||
noinline exceptionHandler: ((E) -> Unit)? = null,
|
exceptionSync: Boolean = true,
|
||||||
exceptionSync: Boolean = true
|
noinline exceptionHandler: ((E) -> Unit)? = null
|
||||||
) {
|
) {
|
||||||
executeCatchingImpl(E::class, exceptionHandler, exceptionSync)
|
executeCatchingImpl(E::class, exceptionSync, exceptionHandler)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -35,8 +35,8 @@ abstract class ChainedRunnablePart<T, R>(
|
|||||||
*/
|
*/
|
||||||
abstract fun <E : Exception> executeCatchingImpl(
|
abstract fun <E : Exception> executeCatchingImpl(
|
||||||
exceptionClass: KClass<E>,
|
exceptionClass: KClass<E>,
|
||||||
|
exceptionSync: Boolean,
|
||||||
exceptionHandler: ((E) -> Unit)?,
|
exceptionHandler: ((E) -> Unit)?,
|
||||||
exceptionSync: Boolean
|
|
||||||
)
|
)
|
||||||
|
|
||||||
protected fun start(data: T) {
|
protected fun start(data: T) {
|
||||||
@@ -49,8 +49,8 @@ abstract class ChainedRunnablePart<T, R>(
|
|||||||
protected fun <E : Exception> startCatching(
|
protected fun <E : Exception> startCatching(
|
||||||
data: T,
|
data: T,
|
||||||
exceptionClass: KClass<E>,
|
exceptionClass: KClass<E>,
|
||||||
|
exceptionSync: Boolean,
|
||||||
exceptionHandler: ((E) -> Unit)?,
|
exceptionHandler: ((E) -> Unit)?,
|
||||||
exceptionSync: Boolean
|
|
||||||
) {
|
) {
|
||||||
runTask(sync) {
|
runTask(sync) {
|
||||||
val result = try {
|
val result = try {
|
||||||
@@ -68,7 +68,7 @@ abstract class ChainedRunnablePart<T, R>(
|
|||||||
return@runTask
|
return@runTask
|
||||||
} else throw e
|
} else throw e
|
||||||
}
|
}
|
||||||
next?.startCatching(result, exceptionClass, exceptionHandler, exceptionSync)
|
next?.startCatching(result, exceptionClass, exceptionSync, exceptionHandler)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -82,10 +82,11 @@ class ChainedRunnablePartFirst<R>(
|
|||||||
= start(Unit)
|
= start(Unit)
|
||||||
|
|
||||||
override fun <E : Exception> executeCatchingImpl(
|
override fun <E : Exception> executeCatchingImpl(
|
||||||
exceptionClass: KClass<E>, exceptionHandler: ((E) -> Unit)?,
|
exceptionClass: KClass<E>,
|
||||||
exceptionSync: Boolean
|
exceptionSync: Boolean,
|
||||||
|
exceptionHandler: ((E) -> Unit)?
|
||||||
) =
|
) =
|
||||||
startCatching(Unit, exceptionClass, exceptionHandler, exceptionSync)
|
startCatching(Unit, exceptionClass, exceptionSync, exceptionHandler)
|
||||||
|
|
||||||
override fun invoke(data: Unit) = runnable.invoke()
|
override fun invoke(data: Unit) = runnable.invoke()
|
||||||
|
|
||||||
@@ -101,10 +102,11 @@ class ChainedRunnablePartThen<T, R>(
|
|||||||
= previous.execute()
|
= previous.execute()
|
||||||
|
|
||||||
override fun <E : Exception> executeCatchingImpl(
|
override fun <E : Exception> executeCatchingImpl(
|
||||||
exceptionClass: KClass<E>, exceptionHandler: ((E) -> Unit)?,
|
exceptionClass: KClass<E>,
|
||||||
exceptionSync: Boolean
|
exceptionSync: Boolean,
|
||||||
|
exceptionHandler: ((E) -> Unit)?
|
||||||
) =
|
) =
|
||||||
previous.executeCatchingImpl(exceptionClass, exceptionHandler, exceptionSync)
|
previous.executeCatchingImpl(exceptionClass, exceptionSync, exceptionHandler)
|
||||||
|
|
||||||
override fun invoke(data: T) = runnable.invoke(data)
|
override fun invoke(data: T) = runnable.invoke(data)
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user