Wpis z mikrobloga

#programowanie #java

Cześć,

Mam takiego try catcha:

http://pastebin.com/29m0ULv7

Try catch jest dla metody zapisu zdjecia/obrazka na dysku, i nie wiem czemu try catch nie działa prawidłowo. Gdy np. podepnę pendrive wybiorę ścieżkę zapisu i przed samym zapisaniem wyjmę pendrive to oczekiwałem, że pojawi się komunikat obsługujący ten wyjątek, a niestety wywala błąd w konsoli FileNotFoundException itd. Mógłby mnie ktoś naprowadzić?
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@pzak: Faktycznie NullPointer wyskakuje, ale takie rozwiązanie wchodzi w grę:

"catch (IOException | NullPointerException e)" ?

Bo komunikat przy takim czymś wyskakuje, ale dalej na konsoli wywala:

java.io.FileNotFoundException: J:\123.jpg (System nie może odnaleźć określonej ścieżki)
  • Odpowiedz
@pulla:

Pewnie, że wchodzi, ale niestety w ten sposób nie ominiesz e.printStackTrace(); który ci w konsoli syf robi.

Brzydki workaround (powinien zadziałać, ale sprawdź
  • Odpowiedz
@pulla:

Albo przed zapisaniem sprawdzasz:

outPath.isInvalid() (ten sam check w bebechach rzuca FileNotFoundException) i jeżeli prawda, to pisz swój komunikat i nie próbuj zapisywać.
  • Odpowiedz