栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Java Try Catch块

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java Try Catch块

在Java中, 可以 使用多个

catch
块。

它不一定意味着您必须这样做。

这取决于你的代码必须在

try
块,多少检查
Exception
的IT可能会潜在地抛出(甚至未选中
Exception
■如果你真的想赶上那班,通常你不这样做,你不
)。

一种 不好的
做法是将单个处理程序用于一般

Exception
(或更糟糕的是
Throwable
,也将捕获
RuntimeException
s和
Error
s):

try {    // stuff that throws multiple exceptions}// badcatch (Exception e) {    // TODO}

良好 的做法是捕获所有可能抛出 检查

Exception
秒。

如果它们中的一些在继承方面相关,请始终先捕获子类(即更具体的

Exception
s),以免您的代码无法编译:

try {    // stuff that throws FileNotFoundException AND IOException}// good: FileNotFoundException is a child class of IOException - both checkedcatch (FileNotFoundException fnfe) {    // TODO}catch (IOException ioe) {    // TODO}

还要看一下Java 7的multi-
catch块
,其中不相关的

Exception
s可以一次捕获
|
,每种
Exception
类型之间使用分隔符:

try (optionally with resources) {    // stuff that throws FileNotFoundException and MyOwnCheckedException}// below exceptions are unrelatedcatch (FileNotFoundException | MyOwnCheckedException e) {    // TODO}

注意

在您链接到的这个示例中,
将它们放在一起 下面的第一个代码片段可以说是次优的:它 确实
捕获了可能抛出的

Exception
s,但是其中一个是
IndexOutOfBoundsException
,这是一个
RuntimeException
(未选中),不应理论上处理。

取而代之的是,

SIZE
变量(或可能的常量)应替换为对
List
要迭代的大小的引用,即
list.size()
为了防止
IndexOutOfBoundsException
被抛出。

我想在这种情况下只是提供一个例子。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/610295.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号