Line 16 give me error:
'obslugaExceptions(java.io.IOException)' in 'pl.codegym.task.task09.task0915.Solution' cannot be applied to '()'
Line 28:
throw ioE; ... ???
package pl.codegym.task.task09.task0915;
import java.io.CharConversionException;
import java.io.IOException;
import java.nio.file.FileSystemException;
/*
Obsługiwanie zwyczajnych wyjątków
*/
public class Solution {
public static StatelessBean BEAN = new StatelessBean();
public static void main(String[] args) throws IOException {
try {
obslugaExceptions(); //4. W metodzie main zajmij się pozostałym wyjątkiem, logując go. Użyj try-catch
} catch (IOException ioException) {
BEAN.log(ioException);
}
}
public static void obslugaExceptions(IOException ioException) { // 3. Do sygnatury metody obslugaExceptions dodaj klasę wyjątku, który zwracasz w podpunkcie 2.1.
try {
BEAN.throwExceptions(); // 2. Metoda obslugaExceptions musi wywoływać metodę BEAN.throwExceptions i obsługiwać wyjątki:
}
catch (FileSystemException ioE) { // 2.1. jeśli wystąpił wyjątek FileSystemException, zaloguj go (wywołaj metodęBEAN.log) i wyrzuć ponownie
BEAN.log(ioException);
// ??? throw again what ???
}
catch (CharConversionException ioE) { // 2.2. jeśli wystąpił wyjątek CharConversionException bądź jakikolwiek inny IOException, po prostu go zaloguj (wywołaj metodę BEAN.log)
BEAN.log(ioException);
}
catch (IOException ioE) {
BEAN.log(ioException);
}
}
public static class StatelessBean {
public void log(Exception exception) {
System.out.println(exception.getMessage() + ", " + exception.getClass().getSimpleName());
}
public void throwExceptions() throws IOException {
int i = (int) (Math.random() * 3);
if (i == 0) {
throw new CharConversionException();
}
if (i == 1) {
throw new FileSystemException("");
}
if (i == 2) {
throw new IOException();
}
}
}
}