I wish to ban the uses of error() method.
My goal is to Ban the use of Generic exception. I can use rule TooGenericExceptionThrown if the code throws the error explicitly. However, when folks use error method. Which is defined in standard kotlin library.
public inline fun error(message: Any): Nothing = throw IllegalStateException(message.toString())
It doesn't get caught by TooGenericExceptionThrown.
I tried enabling ForbiddenMethodCall as below
ForbiddenMethodCall:
active: true
methods:
- 'kotlin.io.print'
- 'kotlin.io.println'
- 'kotlin.error(kotlin.Any)'
- 'error(kotlin.Any)'
- 'error()'
- 'error'
- 'kotlin.error'
When I run ./gradlew detektMain in command line, while it catches the use of print and println it doesn't catch error method call.
Not sure what I'm missing.
Response from the maintainer https://github.com/detekt/detekt/discussions/6485
./gradlew clean detektMain detektTestchecks all files and solves the problem I was facing.