2017-04-05 18 views
0

コードをIOExceptionにするにはどうすればよいですか?IOExceptionの具体的なケース

私は存在しないファイルからの読み書きを試みました。しかし、それはFileNotFoundExceptionを投げます。

IOExceptionを投げる特定のものは何ですか?

+0

まあ、その他のIO問題。たとえば、ファイルを読んでいるときにファイルが削除されたらどうなりますか?ストリームの終わりを過ぎて読もうとするとどうなりますか? –

+1

[IOException'の既知のサブクラス](https://docs.oracle.com/javase/7/docs/api/java/io/IOException.html)のクラス名は、次のようなヒントを与えるはずです。間違っている可能性のある種類のもの。 –

+0

EOFの読み込み、ソケットのクローズ、アクセス拒否、... – ControlAltDel

答えて

0

あなたが意図的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からです。

関連する問題