You need to sign in to do that
Don't have an account?
Nisha Warrier
Custom Exception
Hi,
As a newbie, I was trying creating a custom Exception class using developer console.I tried new>Apexclass.Gave the name MyException.
But it couldn't create the class as it says the class should extend Exception.But I can't write the code without creating the class first in developer console.I know that we do it directly in Setup>Develop>Apex Classes .But is there any reason why this is happening?
As a newbie, I was trying creating a custom Exception class using developer console.I tried new>Apexclass.Gave the name MyException.
But it couldn't create the class as it says the class should extend Exception.But I can't write the code without creating the class first in developer console.I know that we do it directly in Setup>Develop>Apex Classes .But is there any reason why this is happening?
In general when you are writing your own Exception Class it should extends the Exception generic class.
Creating Custom Exceptions
Since you can’t throw built-in Apex exceptions but can only catch them, you can create custom exceptions to throw in your methods. That way, you can also specify detailed error messages and have more custom error handling in your catch blocks.
To create your custom exception class, extend the built-in Exception class and make sure your class name ends with the word Exception. Append extends Exception after your class declaration as follows.
Here are some ways you can create your exceptions objects, which you can then throw.
You can construct exceptions:
With no arguments:
With a single String argument that specifies the error message:
With a single Exception argument that specifies the cause and that displays in any stack trace:
With both a String error message and a chained exception cause that displays in any stack trace: Now that you’ve seen how to create an exception class and how to construct your exception objects, let’s create and run an example that demonstrates the usefulness of custom exceptions.
In the Developer Console, create a class named MerchandiseException and add the following to it:
You’ll use this exception class in the second class that you’ll create. Note that the curly braces at the end enclose the body of your exception class, which we left empty because we get some free code—our class inherits all the constructors and common exception methods, such as getMessage, from the built-in Exception class.
Also look into the below useful links:
https://developer.salesforce.com/docs/atlas.en-us.apex_workbook.meta/apex_workbook/apex7_5.htm
https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_classes_exception_methods.htm
http://salesforce.stackexchange.com/questions/33692/exception-class-must-extend-another-exception-class-why
http://th3silverlining.com/2009/06/11/throwing-custom-apex-exceptions/
Please do let me know if it helps you.
Regards,
Mahesh
I know that we should extend Exception class .But developer console is not allowing to create the class itself.Once I create the class, I can write the code "extends Exception".But it is not allowing me to create the class itself thru console.