Bird
Raised Fist0
Kotlinprogramming~5 mins

Try-catch as an expression in Kotlin - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does it mean that try-catch is an expression in Kotlin?
In Kotlin, try-catch can return a value, so you can assign the result of a try-catch block to a variable. This means try-catch is an expression, not just a statement.
Click to reveal answer
beginner
How do you assign a value from a try-catch block to a variable?
You write: val result = try { /* code */ } catch (e: Exception) { /* fallback value */ }
Click to reveal answer
beginner
What happens if an exception is thrown inside the try block when used as an expression?
The catch block runs and its value is returned as the result of the try-catch expression.
Click to reveal answer
intermediate
Can the try block and catch block return different types when used as an expression?
No, both blocks must return compatible types so the expression has a consistent type.
Click to reveal answer
beginner
Why is using try-catch as an expression useful?
It lets you write concise code by handling exceptions and returning fallback values in one expression, avoiding extra variables or statements.
Click to reveal answer
In Kotlin, what can a try-catch block return when used as an expression?
ANothing, it cannot return a value
BOnly a Boolean value
CA value from either the try or catch block
DOnly the exception object
What must be true about the types returned by try and catch blocks in a try-catch expression?
AThey must be compatible types
BThey can be any unrelated types
COnly the try block returns a value
DOnly the catch block returns a value
How do you assign the result of a try-catch expression to a variable in Kotlin?
Atry { val result = ... } catch { ... }
Bval result = try { ... } catch (e: Exception) { ... }
Cval result; try { ... } catch { ... }
Dtry { ... } catch { ... } = val result
If no exception occurs in the try block, what does the try-catch expression return?
AAn exception
BThe value from the catch block
CNull
DThe value from the try block
Why might you prefer try-catch as an expression over a traditional try-catch statement?
AIt allows returning fallback values directly and reduces extra code
BIt runs faster
CIt catches more exceptions
DIt disables exceptions
Explain how try-catch works as an expression in Kotlin and why it is useful.
Think about how you can assign the result of try-catch to a variable.
You got /4 concepts.
    Describe the type requirements for the try and catch blocks when used as an expression.
    Consider what happens if try returns Int but catch returns String.
    You got /3 concepts.

      Practice

      (1/5)
      1. What does it mean that try-catch is an expression in Kotlin?
      easy
      A. It can only be used inside functions with no return type.
      B. It only catches exceptions but cannot return values.
      C. It must always be followed by a finally block.
      D. It can return a value that can be assigned to a variable.

      Solution

      1. Step 1: Understand try-catch as an expression

        In Kotlin, try-catch can produce a value, unlike in some languages where it is only a statement.
      2. Step 2: Recognize value assignment

        This means you can assign the result of a try-catch block directly to a variable.
      3. Final Answer:

        It can return a value that can be assigned to a variable. -> Option D
      4. Quick Check:

        Try-catch returns value = D [OK]
      Hint: Try-catch can be assigned like any expression [OK]
      Common Mistakes:
      • Thinking try-catch cannot return values
      • Confusing try-catch with only statements
      • Believing finally is always required
      2. Which of the following is the correct syntax to assign a value using try-catch as an expression in Kotlin?
      easy
      A. val result = try { 10 / 0 } catch (e: Exception) { 0 }
      B. val result try { 10 / 0 } catch (e: Exception) { 0 }
      C. val result = try { 10 / 0 } finally { 0 }
      D. val result = catch (e: Exception) { 0 } try { 10 / 0 }

      Solution

      1. Step 1: Check assignment syntax

        The correct way to assign a value from try-catch is using val result = try { ... } catch { ... }.
      2. Step 2: Validate each option

        val result = try { 10 / 0 } catch (e: Exception) { 0 } uses correct syntax with try-catch returning a value. Options A, B, and D have syntax errors or misuse of finally/catch.
      3. Final Answer:

        val result = try { 10 / 0 } catch (e: Exception) { 0 } -> Option A
      4. Quick Check:

        Correct try-catch assignment syntax = C [OK]
      Hint: Remember: val x = try { } catch { } [OK]
      Common Mistakes:
      • Omitting '=' in assignment
      • Using finally block to return value
      • Placing catch before try
      3. What will be the output of this Kotlin code?
      val result = try {
          val num = 10 / 2
          "Success: $num"
      } catch (e: Exception) {
          "Error"
      }
      println(result)
      medium
      A. Error
      B. Success: 5
      C. 10 / 2
      D. Exception thrown

      Solution

      1. Step 1: Evaluate try block

        The division 10 / 2 equals 5, so the try block returns the string "Success: 5".
      2. Step 2: Check for exceptions

        No exception occurs, so the catch block is skipped.
      3. Final Answer:

        Success: 5 -> Option B
      4. Quick Check:

        Try succeeds, output = Success: 5 [OK]
      Hint: If no error, try block value is returned [OK]
      Common Mistakes:
      • Assuming catch runs even without error
      • Printing the expression instead of result
      • Confusing integer division with string output
      4. Identify the error in this Kotlin code using try-catch as an expression:
      val result = try {
          val x = 10 / 0
          x
      } catch {
          0
      }
      println(result)
      medium
      A. Cannot assign try-catch to a val
      B. Division by zero is allowed without catch
      C. Missing exception parameter in catch block
      D. println cannot print variables from try-catch

      Solution

      1. Step 1: Check catch block syntax

        The catch block must declare an exception parameter like catch (e: Exception).
      2. Step 2: Identify the error

        Here, catch is missing the exception parameter, causing a syntax error.
      3. Final Answer:

        Missing exception parameter in catch block -> Option C
      4. Quick Check:

        Catch needs exception parameter = B [OK]
      Hint: Always include exception variable in catch (e: Exception) [OK]
      Common Mistakes:
      • Omitting exception parameter in catch
      • Ignoring division by zero error
      • Thinking try-catch can't be assigned
      5. Given this Kotlin function using try-catch as an expression, what will parseIntOrZero("abc") return?
      fun parseIntOrZero(input: String): Int = try {
          input.toInt()
      } catch (e: NumberFormatException) {
          0
      }
      hard
      A. Returns 0
      B. Throws NumberFormatException
      C. Returns null
      D. Returns input string

      Solution

      1. Step 1: Analyze try block behavior

        Calling input.toInt() on "abc" throws NumberFormatException.
      2. Step 2: Catch block returns fallback

        The catch block catches this exception and returns 0 as fallback.
      3. Final Answer:

        Returns 0 -> Option A
      4. Quick Check:

        Exception caught, fallback 0 returned = A [OK]
      Hint: Catch returns fallback value on error [OK]
      Common Mistakes:
      • Expecting exception to propagate
      • Thinking null is returned on error
      • Confusing return type with input type
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard