GitHunt
MU

mutkuensert/SafeCallJava

A simple class to prevent NullPointerExceptions in Java

SafeCallJava

A simple class to prevent NullPointerExceptions in Java

/**
 * Prevents [NullPointerException] in java
 */
object SafeCall {

    @JvmStatic
    fun <T : Any> get(block: () -> T): T? {
        return try {
            block.invoke()
        } catch (_: NullPointerException) {
            null
        }
    }
    
    @JvmStatic
    fun <T : Any> getOrElse(block: () -> T, default: T): T {
        return try {
            block.invoke()
        } catch (_: NullPointerException) {
            default
        }
    }

    @JvmStatic
    fun call(block: Runnable) {
        try {
            block.run()
        } catch (_: NullPointerException) {
        }
    }
}

Usage in Java

SafeCall.get(() -> getSomeObj().getProperty());

If getSomeObj method returns null, instead of throwing a NullPointerException, SafeCall::get will return null.

Languages

Kotlin100.0%

Contributors

Created December 2, 2024
Updated November 26, 2025
mutkuensert/SafeCallJava | GitHunt