java—有没有抛出io异常的情况?

doinxwow  于 2021-07-09  发布在  Java
关注(0)|答案(2)|浏览(337)

我从未见过任何在javaio操作期间抛出io异常的例子。每次我看到它被抓住。就所有实际目的而言,它真的不需要被抛弃吗?如果我对上一个问题的回答是不真实的,那么在哪种现实生活情景下是真实的呢 thrown ?

cyej8jka

cyej8jka1#

当你谈到 IOException 你也谈到了它的所有例外。例如,其中有 FileNotFoundException (旧文件api--ditch)但是 ReadOnlyFilesystemException , NotDirectoryException , AccessDeniedException ,etc(新文件api——使用)。
因此,是的,很多 IOException 事实上,人们会扔垃圾。

sycxhyv7

sycxhyv72#

是的,比如说一个用户刚刚点击了一个“显示订单”按钮,下面是代码:

List<Order> orders = getOrdersFromDatabase();
showOrdersInTable(orders);

public List<Order> getOrdersFromDatabase() throws IOException {... }

不幸的是,一些愚蠢的家伙只是为了好玩而决定切断服务器的电源线(好吧:他刚刚被解雇了)。现在无法访问运行数据库的服务器。
您的代码可以:
忽略这个异常,你的应用程序将在没有人知道发生了什么的情况下无声地失败
让异常传播到主应用程序而不捕获它,应用程序将严重崩溃
在适当的抽象层捕获并处理异常,您可以在其中记录错误的详细信息并警告用户: showPopup("Sorry, the server xyz can't be reach right now, do you want to retry or abort?");

相关问题