Помогите, пожалуйста. У меня есть такой код
Цитата:
Код:
import java.io.*;
public class ReadFile {
public static void main(String[] args) throws IOException {
int res = 0;
try {
res = sammy(readFirstLine(new File("C:/Users/Katya/IdeaProjects/HelloWorld/src/ru/Ilyenko/s08/file")));
} catch (FileBadFormatException e) {
e.printStackTrace();
System.out.println("Неверный формат файла");
} catch (FileNotFoundException e) {
e.printStackTrace();
System.out.println("Файла не существует");
}
System.out.println(res);
//Преобразование числа в строку
String str = Integer.toString(res);
//Записываем строку в файл
try {
String result = writeToFirst(new File("C:/Users/Katya/IdeaProjects/HelloWorld/src/ru/Ilyenko/s08/result"), str);
} catch (FileBadFormatException e) {
e.printStackTrace();
System.out.println("Неверный формат файла");
} catch (FileNotFoundException e) {
e.printStackTrace();
System.out.println("Файла не существует");
}
}
public static int sammy(String file) {
// Удаляем все пробелы
String file1 = file.replaceAll("\\s+", "");
// Преобразовываем строку в число
int x = Integer.parseInt(file1);
//Вычисляем сумму цифр в числе
int i = 0;
while (x != 0) {
i = i + x % 10;
x = x / 10;
}
return i;
}
static String readFirstLine(File file) throws IOException {
FileInputStream stream = new FileInputStream(file);
BufferedReader reader = new BufferedReader(new InputStreamReader(stream));
String first = reader.readLine();
reader.close();
stream.close();
return first;
}
static String writeToFirst(File file, String value) throws IOException {
FileWriter writer = new FileWriter(file, false);
writer.write(value);
writer.flush();
writer.close();
return value;
}
}
import java.io.IOException;
public class FileBadFormatException extends IOException {
public FileBadFormatException(String a) {
super(a);
}
}
|
Неверный формат файла и файла не существует я кое как создала, а теперь не понимаю как мне создать исключение типа недопустимый формат числа (если в числе будет буква), сумма превышает допустимых значения Long.MAX_VALUE. Это мне надо создать новый класс исключения куда на вход будет приходить например только тип int? или как то еще?