написано
"методы класса PrintWriter никогда не создают исключений. Для проверки ошибок необходимо явно вызвать метод checkError()."
При этом в документации к PrintStream тоже написано:
"never throws an IOException; instead, exceptional situations merely set an internal flag that can be tested via the checkError method"
https://docs.oracle.com/javase/8/docs/api/java/io/PrintStream.html