OOP / Лаб 11
.docxМинистерство образования и науки Украины
Одесский национальный политехнический университет
Кафедра системного программного обеспечения.
Протокол лабораторной работы № 11
По дисциплине:
Объектно-ориентированное программирование
Вариант 10
Выполнил
студент AC-121
Куценко Дмитрий Сергеевич
Преподаватель Левченко А.Ю
Одесса 2013 (год)
Лабораторная робота № 11 «Обработка исключительных ситуаций. Java»
В программу, выполненную в соответствии с заданием к лабораторной работе №9 включить код обработки двух непроверяемых исключительных ситуаций, а также код для генерирования одной исключительной ситуации. Проверить работу программы для всех случаев возникновения исключительных ситуаций.
Задание.
Задана строка. Найти сумму всех цифр, которые в неё входят.
Код программы:
package javalab11;
import java.util.*;
class TestErrorException extends Exception{ //новый класс исключительной ситуации
public void TestErrorException(){
System.out.println("Возникло исключение!!!");
}
}
public class JavaLab11 {
public static void main(String[] args)
{
Scanner sc=new Scanner(System.in);
System.out.println("Введите строку:");
String s=sc.nextLine();
int i,k=0;
char c;
try
{
for(i=0;i<s.length();i++)//length размер строки
{ c=s.charAt(i);//символ стоящий в указанной позиции
if(c>='0'&&c<='9'){
k+=c-'0';
if(k==0)throw new TestErrorException();//генерация исключительной ситуации
}
}
}
catch(TestErrorException e){//обработка новой исключительной ситуации
System.err.println("Ошибка!!!");
System.exit(0);
}
catch(ArithmeticException e)//обработка стандартной исключительной ситуации
{
System.err.println("Ошибка при арифметическом вычислении");
}
try{
System.out.println(k);
if(k==0)throw new TestErrorException();
}
catch(TestErrorException e){
System.err.println("Ошибка ввода-вывода");
System.exit(0);
}
}
}