【问题标题】:Specific Cases of IOExceptions [duplicate]IOExceptions 的具体案例 [重复]
【发布时间】:2017-08-31 14:17:41
【问题描述】:

我该怎么做才能让我的代码抛出IOException

我尝试读取和写入一个不存在的文件。但这会引发FileNotFoundException

有哪些具体的事情会引发IOException

【问题讨论】:

  • 好吧,其他任何 IO 问题。例如,如果文件在您阅读时被删除了怎么办?如果您尝试阅读流的末尾怎么办?等
  • known subclasses of IOException 的类名应该给你一些关于可能出错的类型的提示。
  • EOF 读取,套接字关闭,访问被拒绝,...
  • 这个问题在 Triage 中,我已经编辑了问题陈述以使其符合 stackoverflow 标准。请查看stackoverflow.com/help/how-to-ask,了解应如何提出问题。

标签: java exception-handling


【解决方案1】:

如果你想故意抛出一个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

【讨论】:

    猜你喜欢
    • 2017-04-10
    • 1970-01-01
    • 2017-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多