如果你想拋出一個IOException()
故意,你應該簡單地拋出一個新的IOException()
像這樣:
throw new IOException();
這是故意拋出一個異常的正確方法。刻意引發異常並不是好習慣,因爲它會使異常看起來很真實。
這裏是例外的子類的完整列表,可以拋出IOException()
:
ChangedCharSetException, CharacterCodingException, CharConversionException,
ClosedChannelException, EOFException, FileLockInterruptionException,
FileNotFoundException, FilerException, FileSystemException,
HttpRetryException, IIOException, InterruptedByTimeoutException,
InterruptedIOException, InvalidPropertiesFormatException,
JMXProviderException, JMXServerErrorException, MalformedURLException,
ObjectStreamException, ProtocolException, RemoteException, SaslException,
SocketException, SSLException, SyncFailedException, UnknownHostException,
UnknownServiceException, UnsupportedDataTypeException,
UnsupportedEncodingException, UserPrincipalNotFoundException,
UTFDataFormatException, ZipException
這份名單是從https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html。
那麼,其他任何其他IO問題。例如,如果文件在閱讀時被刪除,該怎麼辦?如果您嘗試讀取流尾部的內容,該怎麼辦?等等。 –
[IOException'的已知子類的類名(https://docs.oracle.com/javase/7/docs/api/java/io/IOException.html)應該給你一些關於可能出錯的事物類型。 –
EOF閱讀,套接字關閉,訪問被拒絕,... – ControlAltDel