Publish Your Article Here

How to Create Java Custom Exception

Sometimes it is required to develop meaningful exceptions based on application requirements. We can create our own exceptions by extending 'Exception' class. Below example shows how to create custom exception by extending Exception class.

Java Custom Exception Sample Code

package com.myjava.exceptions;

public class MyOwnException {
    public static void main(String[] a){
        } catch(MyAppException mae){
            System.out.println("Inside catch block: "+mae.getMessage());
    static void myTest(String str) throws MyAppException{
        if(str == null){
            throw new MyAppException("String val is null");

class MyAppException extends Exception {

	private String message = null;

	public MyAppException() {

	public MyAppException(String message) {
		this.message = message;

	public MyAppException(Throwable cause) {

	public String toString() {
		return message;

	public String getMessage() {
		return message;

Example Output

Inside catch block: String val is null

Other Exception Handling Examples

Knowledge Centre
Inner class and Anonymous class
Inner class: classes defined in other classes, including those defined in methods are called inner classes. An inner class can have any accessibility including private.

Anonymous class: Anonymous class is a class defined inside a method without a name and is instantiated and declared in the same place and cannot have explicit constructors.
Famous Quotations
Do not confuse motion and progress. A rocking horse keeps moving but does not make any progress.
-- Alfred A. Montapert

About Author

I'm Nataraja Gootooru, programmer by profession and passionate about technologies. All examples given here are as simple as possible to help beginners. The source code is compiled and tested in my dev environment.

If you come across any mistakes or bugs, please email me to [email protected].

Most Visited Pages

Other Interesting Sites

Reference: Java™ Platform Standard Ed. 7 - API Specification | Java™ Platform Standard Ed. 8 - API Specification | Java is registered trademark of Oracle.
Privacy Policy | Copyright © 2018 by Nataraja Gootooru. All Rights Reserved.