package com.javarush.test.level09.lesson08.task05;
/* Перехват unchecked исключений
В методе processExceptions обработайте все unchecked исключения.
Нужно вывести стек-трейс каждого возникшего исключения используя метод printStack.
Можно использовать только один блок try..
*/
public class Solution
{
public static void main(String[] args) {
processExceptions(new Solution());
}
public static void processExceptions(Solution obj) {
try
{
obj.method1();
obj.method2();
obj.method3();
}
catch (NullPointerException e)
{
printStack(e);
}
catch (IndexOutOfBoundsException e)
{
printStack(e);
}
catch (NumberFormatException e)
{
printStack(e);
}
}
public static void printStack(Throwable throwable) {
System.out.println(throwable);
for (StackTraceElement element : throwable.getStackTrace()) {
System.out.println(element);
}
}
public void method1(){
throw new NullPointerException();
}
public void method2() {
throw new IndexOutOfBoundsException();
}
public void method3() {
throw new NumberFormatException();
}
}
/* Перехват unchecked исключений
В методе processExceptions обработайте все unchecked исключения.
Нужно вывести стек-трейс каждого возникшего исключения используя метод printStack.
Можно использовать только один блок try..
*/
public class Solution
{
public static void main(String[] args) {
processExceptions(new Solution());
}
public static void processExceptions(Solution obj) {
try
{
obj.method1();
obj.method2();
obj.method3();
}
catch (NullPointerException e)
{
printStack(e);
}
catch (IndexOutOfBoundsException e)
{
printStack(e);
}
catch (NumberFormatException e)
{
printStack(e);
}
}
public static void printStack(Throwable throwable) {
System.out.println(throwable);
for (StackTraceElement element : throwable.getStackTrace()) {
System.out.println(element);
}
}
public void method1(){
throw new NullPointerException();
}
public void method2() {
throw new IndexOutOfBoundsException();
}
public void method3() {
throw new NumberFormatException();
}
}
Комментариев нет:
Отправить комментарий