<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://script.spoken-tutorial.org/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://script.spoken-tutorial.org/index.php?action=history&amp;feed=atom&amp;title=Java%2FC3%2FCustom-Exceptions%2FEnglish</id>
		<title>Java/C3/Custom-Exceptions/English - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://script.spoken-tutorial.org/index.php?action=history&amp;feed=atom&amp;title=Java%2FC3%2FCustom-Exceptions%2FEnglish"/>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php?title=Java/C3/Custom-Exceptions/English&amp;action=history"/>
		<updated>2026-05-14T23:42:44Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.23.17</generator>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php?title=Java/C3/Custom-Exceptions/English&amp;diff=37470&amp;oldid=prev</id>
		<title>Nancyvarkey at 10:28, 16 June 2017</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php?title=Java/C3/Custom-Exceptions/English&amp;diff=37470&amp;oldid=prev"/>
				<updated>2017-06-16T10:28:20Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://script.spoken-tutorial.org/index.php?title=Java/C3/Custom-Exceptions/English&amp;amp;diff=37470&amp;amp;oldid=37363&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Nancyvarkey</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php?title=Java/C3/Custom-Exceptions/English&amp;diff=37363&amp;oldid=prev</id>
		<title>Priyacst: Created page with &quot;'''Title of script:''' Custom Exceptions  '''Author:''' Joms Antony  '''Keywords:''' Custom Exceptions, User defined exceptions, throw keyword, throws keyword, video tutorial,...&quot;</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php?title=Java/C3/Custom-Exceptions/English&amp;diff=37363&amp;oldid=prev"/>
				<updated>2017-06-09T05:10:42Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;&amp;#039;&amp;#039;&amp;#039;Title of script:&amp;#039;&amp;#039;&amp;#039; Custom Exceptions  &amp;#039;&amp;#039;&amp;#039;Author:&amp;#039;&amp;#039;&amp;#039; Joms Antony  &amp;#039;&amp;#039;&amp;#039;Keywords:&amp;#039;&amp;#039;&amp;#039; Custom Exceptions, User defined exceptions, throw keyword, throws keyword, video tutorial,...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;'''Title of script:''' Custom Exceptions&lt;br /&gt;
&lt;br /&gt;
'''Author:''' Joms Antony&lt;br /&gt;
&lt;br /&gt;
'''Keywords:''' Custom Exceptions, User defined exceptions, throw keyword, throws keyword, video tutorial, Java&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing:0;&amp;quot;&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| &amp;lt;center&amp;gt;'''Visual Cue'''&amp;lt;/center&amp;gt;&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| &amp;lt;center&amp;gt;'''Narration'''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| '''Slide 1'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| Welcome to the spoken tutorial on''' custom exceptions.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| '''Slide 2'''&lt;br /&gt;
&lt;br /&gt;
'''Learning Objectives'''&lt;br /&gt;
&lt;br /&gt;
* '''Custom exceptions'''&lt;br /&gt;
* Usage of '''throw''' and '''throws''' keywords&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| In this tutorial we will learn about:&lt;br /&gt;
&lt;br /&gt;
* '''Custom exceptions '''and&lt;br /&gt;
* Usage of '''throw''' and '''throws''' keywords&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| '''Slide 3'''&lt;br /&gt;
&lt;br /&gt;
'''Software Requirements'''&lt;br /&gt;
&lt;br /&gt;
* '''Ubuntu Linux '''16.04&lt;br /&gt;
* '''JDK 1 .7'''&lt;br /&gt;
* '''Eclipse''' 4.3.1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| To record this tutorial, I am using&lt;br /&gt;
&lt;br /&gt;
* '''Ubuntu Linux 16.04 OS'''&lt;br /&gt;
* '''JDK 1 .7 '''and&lt;br /&gt;
* '''Eclipse 4.3.1 '''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| '''Slide 4'''&lt;br /&gt;
&lt;br /&gt;
'''Prerequisites'''&lt;br /&gt;
&lt;br /&gt;
* Basic knowledge of '''Exceptions Handling'''&lt;br /&gt;
* For relevant tutorials, please visit http://www.spoken-tutorial.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| To follow this tutorial, you must have basic knowledge of '''Exceptions Handling '''in''' Java.'''&lt;br /&gt;
&lt;br /&gt;
If not, for relevant''' Java '''tutorials, please visit the link shown.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| '''Slide 5'''&lt;br /&gt;
&lt;br /&gt;
'''Custom Exception'''&lt;br /&gt;
&lt;br /&gt;
* '''Custom exception''' is a user defined exception class.&lt;br /&gt;
* It is usually created as checked exceptions.&lt;br /&gt;
* It is used to customize the exception according to user need.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| First let us learn about '''custom exceptions'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Custom exception''' is a '''user defined exception class'''.&lt;br /&gt;
&lt;br /&gt;
* It is usually created as '''checked exceptions.'''&lt;br /&gt;
&lt;br /&gt;
* It is used to customize the exception according to user need. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| In Eclipse IDE, create a project called '''CustomExceptionDemo '''&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| Now we will open''' eclipse''' and create a new project called''' CustomExceptionDemo.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inside this project we will create the necessary classes to demonstrate '''custom exceptions.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| Right click on '''src''' folder and click '''New'''-&amp;gt; '''Class '''and type the class name as '''InvalidMarkException''' and hit '''Enter''' &lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| We will create a new '''class InvalidMarkException.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| '''public''' '''class''' InvalidMarkException &lt;br /&gt;
&lt;br /&gt;
Type&lt;br /&gt;
&lt;br /&gt;
'''extends''' '''Exception''' &lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| To make this as a type of '''exception''' class, it should be a subclass of Java '''exception''' class.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To do so, type''' extends''' '''Exception'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| Click on '''Source''' -&amp;gt; '''Generate constructors from Superclass''' &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| Click on '''Source''' menu and then select '''Generate constructors from Superclass'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| Click on '''Deselect All''' &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| Now click on '''Deselect All''' button in the right hand side.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| Select '''Exception(String) '''&lt;br /&gt;
&lt;br /&gt;
Click '''OK '''button.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Highlight the inserted code&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| Then select the constructor with a single string argument and click on '''OK''' button at the bottom.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This '''string''' argument can be used to customize the message shown when this '''exception''' occurs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;&amp;lt;PAUSE&amp;gt;&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| Right click on '''src''' folder and click '''New'''-&amp;gt; '''Class -&amp;gt; StudentMarks'''&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| Let us add another class named '''StudentMarks.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| Copy the following code&lt;br /&gt;
&lt;br /&gt;
'''int''' marks;&lt;br /&gt;
&lt;br /&gt;
'''public''' StudentMarks('''int''' marks) {&lt;br /&gt;
&lt;br /&gt;
'''this'''.marks = marks;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Highlight “'''int''' marks;”&lt;br /&gt;
&lt;br /&gt;
Highlight “'''public''' StudentMarks('''int''' marks) { '''this'''.marks = marks;}”&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| Then type the following code.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This class contains only one variable named '''marks.'''&lt;br /&gt;
&lt;br /&gt;
This constructor initializes the value of '''marks.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| Copy the following code&lt;br /&gt;
&lt;br /&gt;
'''public''' '''void''' validate() &lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
'''if'''&amp;lt;nowiki&amp;gt; (marks&amp;lt;0 || marks&amp;gt;100)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''throw''' '''new''' InvalidMarkException(marks+&amp;quot; is not a valid entry&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
'''else'''&lt;br /&gt;
&lt;br /&gt;
System.''out''.println(&amp;quot;Entry OK&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Highlight “'''if'''&amp;lt;nowiki&amp;gt; (marks&amp;lt;0 || marks&amp;gt;100)&amp;lt;/nowiki&amp;gt;”&lt;br /&gt;
&lt;br /&gt;
Highlight “'''throw''' '''new''' InvalidMarkException(marks+&amp;quot; not a valid entry&amp;quot;);”&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Highlight “'''throw'''” and '''“marks not a valid entry”'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Highlight &amp;quot;'''Entry OK'''&amp;quot;&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| Let us now add a method to validate the marks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The normal range of marks is from 0 to 100.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If '''marks less than 0 or greater than 100''' is processed, '''InvalidMarkException''' will be thrown.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For this, we need to use the '''throw''' keyword explicitly to throw a custom exception.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the mark is a valid one, the message '''“Entry OK” '''will be displayed. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| Highlight&lt;br /&gt;
&lt;br /&gt;
'''throw''' '''new''' InvalidMarkException(marks+&amp;quot; is not a valid entry&amp;quot;);&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| We can see that there is an error '''InvalidMarkException.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Let us check and resolve it.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| Click on the error and double click “Add throws declaration”&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Highlight the “'''throws''' InvalidMarkException” &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| So click on the error and double click '''“Add throws declaration'''”.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We can see that the error disappears once the '''“throws InvalidMarkException”''' is added to the method signature.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| '''Highlight'''&lt;br /&gt;
&lt;br /&gt;
'''public''' '''void''' validate() '''throws''' InvalidMarkException&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| Here we can see that the '''throws''' keyword is used along with methods.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| '''Highlight'''&lt;br /&gt;
&lt;br /&gt;
InvalidMarkException&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| It indicates that the method will raise the specified exception.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| '''throw''' '''new''' InvalidMarkException(marks+&amp;quot; not a valid entry&amp;quot;);&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| We have to provide the exception handling code when such a method is called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;&amp;lt;PAUSE&amp;gt;&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| Next to '''System.out.println(&amp;quot;Entry OK&amp;quot;);''' statement, type&lt;br /&gt;
&lt;br /&gt;
'''FileReader fr=null;'''&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| Next, let us perform a file access operation which will raise a '''FileNotFoundException'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So type the following code to create an instance of a '''FileReader '''class'''.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| Point the error&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click on the error and double click '''import 'FileReader' (java.io).'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| '''Eclipse''' will show some errors as we have not imported the corresponding '''Java packages.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To rectify the same, click on the error and then double click '''import 'FileReader' (java.io).'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We will learn about '''package''' and its usage in detail in a later tutorial.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| fr='''new '''FileReader(“/home/spoken/Marks&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Highlight &amp;quot;/home/spoken/Marks&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| To allow '''fr '''to access a file called''' Marks''' which is located in the home folder, type the following code.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The path shown here is to be replaced with that of your system's home folder.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| Point the error&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
d&lt;br /&gt;
&lt;br /&gt;
Click on the error and double click '''Add throws declaration'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| An error shows that this line of code can raise a '''FileNotFoundException.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We can resolve it by adding this exception in the '''throws clause'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| Highlight FileNotFoundException&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Highlight '''throws''' InvalidMarkException, FileNotFoundException&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| We can see that '''FileNotFoundException''' is also added to the '''throws''' clause.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We can handle multiple exceptions using '''throws''' as shown here.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;&amp;lt;PAUSE&amp;gt;&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| Copy the following code&lt;br /&gt;
&lt;br /&gt;
'''public''' '''static''' '''void'''&amp;lt;nowiki&amp;gt; main(String[] args) {&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
StudentMarks m1='''new''' StudentMarks(40);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
m1.validate();&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
System.''out''.println(&amp;quot;rest of the code&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| We will now create the '''main''' method inside the '''StudentMarks '''class and verify the results.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| Highlight StudentMarks m1='''new''' StudentMarks(40);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Highlight '''m1.validate();'''&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| Here we create an object '''m1''' initialized with 40 as the value for '''marks.'''&lt;br /&gt;
&lt;br /&gt;
In the next line we invoke the method '''validate''' using the object '''m1.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| Point the error&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| We can see that there is an error when the '''validate''' method is invoked.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It says that this method will raise the &lt;br /&gt;
&lt;br /&gt;
'''InvalidMarkException''' and '''FileNotFoundException'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| Point to '''throws '''in the drop down options&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Double click '''Surround with try/catch'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| To resolve the error, we can add '''throws''' clause to '''main''' method as we did earlier&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
But it is recommended to use '''try''' and '''catch''' '''block.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So, double click '''Surround with try/catch'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now the necessary '''try-catch blocks''' are added and the exception has been handled.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| Click '''run''' icon&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| Now let us run this program.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| Point to Entry OK, rest of the code&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| It displays “Entry OK” and “rest of the code”.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This happens because the value of '''marks''' 40 is a valid entry.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| Modify “Marks m1='''new''' Marks(-10);”&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| Let us now change the value to -10 which is an invalid entry. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| Click '''run''' icon&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| We will run the program again.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| Highlight the output&lt;br /&gt;
&lt;br /&gt;
InvalidMarkException: -10 is not a valid entry&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Highlight the message “rest of the code”&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| Now we can see that the '''InvalidMarkException''' is thrown as -10 is an invalid entry.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Since we have handled the exception,&lt;br /&gt;
&lt;br /&gt;
we can see the message “rest of the code” &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Instead if we use “throws” clause,&lt;br /&gt;
&lt;br /&gt;
this message “rest of the code” will not be printed. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Also the program will be terminated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So it is better to use a '''try catch block''' when a method is called inside the '''main''' method.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
With this we come to the end of this tutorial.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;&amp;lt;PAUSE&amp;gt;&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| '''Slide 8'''&lt;br /&gt;
&lt;br /&gt;
'''Summary'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* What is a Custom Exception&lt;br /&gt;
* Usage of throw and throws keywords &lt;br /&gt;
* How to create and use custom exceptions &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| Let us summarize.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In this tutorial we have learned about&lt;br /&gt;
&lt;br /&gt;
* What is a Custom Exception &lt;br /&gt;
* Usage of throw and throws keywords &lt;br /&gt;
* How to create and use custom exceptions&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| '''Slide 9'''&lt;br /&gt;
&lt;br /&gt;
'''Assignment'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Create a custom exception class &lt;br /&gt;
&lt;br /&gt;
'''InvalidAgeException''' &lt;br /&gt;
&lt;br /&gt;
* Create another class '''Age''' and create a constructor to initialize the value of age &lt;br /&gt;
* Create validate() method to&amp;lt;nowiki&amp;gt; throw the above exception if age &amp;lt; 18 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| As an assignment&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Create a custom exception class called '''InvalidAgeException''' &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Create another class '''Age''' and create a constructor to initialize the value of age&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Also create a method '''validate''' to throw an exception if the age is less than 18&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| '''Slide 9A'''&lt;br /&gt;
&lt;br /&gt;
'''Assignment'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Create objects inside the main method and invoke the validate() method&lt;br /&gt;
&lt;br /&gt;
* Provide exception handling using &lt;br /&gt;
&lt;br /&gt;
try-catch blocks&lt;br /&gt;
&lt;br /&gt;
* Verify the custom exception class &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| Create objects inside the '''main''' &lt;br /&gt;
&lt;br /&gt;
method and invoke the '''validate()''' method&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Provide exception handling using &lt;br /&gt;
&lt;br /&gt;
'''try-catch''' blocks wherever required.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Verify the custom exception class. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| '''About Project'''&lt;br /&gt;
&lt;br /&gt;
(retain the slide as in TEX file)&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| The video at the following link summarizes the''' Spoken Tutorial Project.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please download and watch it.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| '''About Workshops'''&lt;br /&gt;
&lt;br /&gt;
(retain the slide as in TEX file)&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| The''' Spoken Tutorial Project Team'''&lt;br /&gt;
&lt;br /&gt;
• Conducts workshops using spoken tutorials and&lt;br /&gt;
&lt;br /&gt;
• Gives certificates on passing the online tests&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For more details, please write to us.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| '''About NMEICT'''&lt;br /&gt;
&lt;br /&gt;
(retain the slide as in TEX file)&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| '''Spoken Tutorial Project''' is funded by the NMEICT, MHRD, Government of India.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
More information on this mission is available at the link shown.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| '''Contributor slide'''&lt;br /&gt;
&lt;br /&gt;
(retain the slide as in TEX file)&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.173cm;padding-right:0.191cm;&amp;quot;| This script has been contributed by:&lt;br /&gt;
&lt;br /&gt;
'''Department of Information Technology, Amal Jyothi College of Engineering'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is Priya from IIT Bombay, signing off. Thanks for joining.&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Priyacst</name></author>	</entry>

	</feed>