kunal-kushwaha/DSA-Bootcamp-Java · info · MyException
name is kunal
Error message
name is kunal
What it means
This is a custom user-defined exception (MyException) thrown explicitly in tutorial code to demonstrate creating and throwing your own exceptions. It fires when a business-rule condition holds (the name equals "Kunal"), mimicking how real libraries signal domain errors. The catch block in main prints e.getMessage(), so the program does not crash.
Solutions
- Change the condition or the name value so the throw is not reached, if this is unintended.
- If it is intended demo behavior, no fix needed — the try/catch already prints the message.
- Replace the demo check with a real domain validation for production use.
Example fix
// before
if (name.equals("Kunal")) {
throw new MyException("name is kunal");
}
// after
if (name == null || name.isBlank()) {
throw new MyException("name must not be empty");
} Defensive patterns
Strategy: try-catch
Validate before calling
// no pre-call validation required; mirror the business rule to avoid the throw:
if (!name.equals("Kunal")) {
// safe path
} Try / catch
try {
// code that may throw MyException
} catch (MyException e) {
System.out.println(e.getMessage());
} Prevention
- Mirror the business rule with a caller-side check before invoking code that throws custom exceptions.
- Catch the specific custom type before any broader Exception handler.
- Define distinct custom exception types per rule for precise catching.
- Replace tutorial demo throws with real validation in production.
When it happens
Trigger: Running main in com.kunal.exceptionHandling.Main when the local variable name equals "Kunal"; the throw is unconditional for that value: throw new MyException("name is kunal").
Common situations: Learning/teaching custom exception creation; refactoring this demo into real code and forgetting the throw is a stand-in for a domain check; accidentally reusing MyException with its fixed message elsewhere.
Related errors
- Cannot peek from an empty stack!!
- Cannot pop from an empty stack!!
- please do no divide by zero
- Queue is empty
- Queue is empty
AI-assisted analysis of kunal-kushwaha/DSA-Bootcamp-Java@6bc4d8bf8a (2026-08-31).
Data as JSON: /api/errors/6205e12908599e29.
Report an issue: GitHub.
Appendix: source
Thrown at lectures/17-oop/code/src/com/kunal/exceptionHandling/Main.java:12
package com.kunal.exceptionHandling;
public class Main {
public static void main(String[] args) {
int a = 5;
int b = 0;
try {
// divide(a, b);
// mimicing
String name = "Kunal";
if (name.equals("Kunal")) {
throw new MyException("name is kunal");
}
} catch (MyException e) {
System.out.println(e.getMessage());
} catch (ArithmeticException e) {
System.out.println(e.getMessage());
} catch (Exception e) {
System.out.println("normal exception");
} finally {
System.out.println("this will always execute");
}
}
static int divide(int a, int b) throws ArithmeticException{
if (b == 0) {
throw new ArithmeticException("please do no divide by zero");
}
View on GitHub (pinned to 6bc4d8bf8a)