Because of the null safety feature of Kotlin, it checks whether the caller passes a null value to a not-nullable param, and throws NullPointerException if it happens.
Generally, the implementations of turms client should wrap any exception as a TurmsBusinessException/Error, but the NPE better be an exception for now. Otherwise, we have to modify the bytecode just to wrap the NPE, it's over-engineering.
We may wrap it in the future, but definitely not for now.
Because of the null safety feature of Kotlin, it checks whether the caller passes a null value to a not-nullable param, and throws NullPointerException if it happens.
Generally, the implementations of turms client should wrap any exception as a TurmsBusinessException/Error, but the NPE better be an exception for now. Otherwise, we have to modify the bytecode just to wrap the NPE, it's over-engineering.
We may wrap it in the future, but definitely not for now.