summaryrefslogtreecommitdiff
path: root/java/12-error-handling-2/MathsTest4.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/12-error-handling-2/MathsTest4.java')
-rw-r--r--java/12-error-handling-2/MathsTest4.java33
1 files changed, 33 insertions, 0 deletions
diff --git a/java/12-error-handling-2/MathsTest4.java b/java/12-error-handling-2/MathsTest4.java
new file mode 100644
index 0000000..b5cca8a
--- /dev/null
+++ b/java/12-error-handling-2/MathsTest4.java
@@ -0,0 +1,33 @@
+public class MathsTest4 {
+
+ /**
+ * @param args
+ * @throws MathsException
+ */
+ public static void main(String[] args) throws MathsException {
+ Maths m = new Maths();
+ int result = 0;
+
+ // No catching! Then the method should be declared
+ // to throw the exception (or a super type like
+ // Exception or even Throwable)
+
+// m.factorial(5);
+
+ // Look! A try block can be defined without a catch block
+ // as well.
+ try {
+ result = m.factorial(-5);
+ System.out.println("xxx");
+ } finally {
+ System.out.println("Inside finally block");
+ }
+
+ // No try block is also possible
+ // Since the method is declared to duct the exception
+ result = m.factorial(-5);
+
+ System.out.println(result);
+ }
+
+}