In: Computer Science
In-Class coding exercise: (try - catch) (pass / fail)
The purpose of this in-class coding exercise is to simulate various exception conditions using the program provided.
package com.InClass;
/*
* This program demonstrates the ability of catching different types
of exceptions"
* You will have to modify the method() codes to trigger
various/different exceptions.
* inClass Coding ( you will have to remove (comment out) the
previous error condition before moving to trigger the next)
* 1) throw a myExcept exception (this is defined with an extends to
Exception (see code)
* 2) use method () to trip a Arithmetic exception
* 3) use method () to trip a nullPointException
* 4) use method () call to trip a runtime exception
* 5) inside the myExcept error to inject an arithmetic error and
watch it behave differently from step1 22
*
*/
public class TestExceptions {
public static void main(String[] args) {
try {
// throw
myException() first.
method();
System.out.println(" after the method call");
}
catch (MyExcept ex){
System.out.println(" MyExcept error");
}
catch (ArithmeticException
ex){
System.out.println(" ArithmeticEx error");
}
catch (NullPointerException ex)
{
System.out.println(" nullPointException !!! ");
}
catch (IndexOutOfBoundsException e)
{
System.out.println(" index out of bounds...");
}
catch (RuntimeException ex )
{
System.out.println(" Runtime exception");
System.out.println(ex.getMessage());
}
catch (Exception e ) {
System.out.println(" Exception");
}
finally {
System.out.println(" finally After
the catch");
}
}
static void method() throws Exception {
// create ArithmeticException
// create RuntimeExceptiom
// create a null point exception here -- fix the exception above
first
// create a ClassCastException here which is NOT on catch "watch"
listed above
// throw new Exception(); // trigger an Exceptiom
}
}
class MyExcept extends Exception { // creating your custome
error
MyExcept(){
// int y = 1/0; // uncomment this
line to introduce an aritmetic exception inside your MyExcept
System.out.println(" inside my custome
MyExcept");
}
}
Please complete the missing exceptions. Ignore the spellings mistakes/grammer, it's how the professor writes.
Instructions might be a bit hard to follow so please bear that in mind. Complete as much as possible.
Thank you.
I have implemented all the comments in the method() function and also provided comments so that you can follow. You need to run the program several times running each exception at a time while commenting the rest. Hope this helps you, let me know for any questions or in case you have any follow up question. Thanks : ) ========================================================================
public class TestExceptions {
public static void main(String[] args) {
try {
// when you want to run the below line please comment the next two lines
// i.e comment method() and System.out.println(" after the method call");
throw new MyExcept();
// when you want to run the below 2 lines comment the above line i.e throw new MyExcept();
//method();
//System.out.println(" after the method call");
} catch (MyExcept ex) {
System.out.println(" MyExcept error");
} catch (ArithmeticException ex) {
System.out.println(" ArithmeticEx error");
} catch (NullPointerException ex) {
System.out.println(" nullPointException !!! ");
} catch (IndexOutOfBoundsException e) {
System.out.println(" index out of bounds...");
} catch (RuntimeException ex) {
System.out.println(" Runtime exception");
System.out.println(ex.getMessage());
} catch (Exception e) {
System.out.println(" Exception");
} finally {
System.out.println(" finally After the catch");
}
}
static void method() throws Exception {
// create ArithmeticException
// try to divide by zero; this will result in an Arithmetic Exception;
int result = 5 / 0; // divide by zero will lead to an Arithmetic Exception;
// create RuntimeException;
// we can create an empty string and access the 5th character;
String empty = "";
System.out.println("Try to print the 5th character: " + empty.charAt(4));
// create a null point exception here -- fix the exception above first
// Create an array pointing to null and then try to access the 1st element
int[] nullArray = null;
System.out.println("1st element value: " + nullArray[0]);
// create a ClassCastException here which is NOT on catch "watch" listed above
Object s = new String();
Integer i = (Integer) s; // trying to cast a String to Integer class this will lead to ClassCastException
// throw new Exception(); // trigger an Exceptiom
throw new Exception("Exception");
}
}
class MyExcept extends Exception { // creating your custome error
public MyExcept() {
int y = 1/0; // uncomment this line to introduce an aritmetic exception inside your MyExcept
System.out.println("Inside my custom MyExcept");
}
}
==============================================================