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

未处理的异常类型错误

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

未处理的异常类型错误

这意味着您要调用的方法已使用

throws
指令声明了从
Exception
类派生的异常。当以这种方式声明一个方法时,您将被迫使用一个
try/catch
块来处理该异常,或者将一个相同的
throws
(对于相同的异常或超类型)语句添加到您的方法声明中。

一个例子。

我想

foo
在我的方法中调用某个方法
bar

这是

foo
的定义:

public static void foo(String a) throws Exception {    // foo does something interesting here.}

我想打电话

foo
。如果我只是这样做:

private void bar() {    foo("test");}

…然后我会得到您遇到的错误。

foo
向世界宣告它真的可能决定扔一个,
Exception
而您最好准备好应对它。

我有两个选择。我可以

bar
按如下方式更改的定义:

private void bar() throws Exception {    foo("test");}

现在,我公开了自己的警告,警告我的方法或调用的某些方法可能会引发

Exception
方法用户应处理的警告。由于我已经将方法的调用者的责任交给了我,因此我的方法不必处理异常本身。

如果可以的话,通常最好自己处理异常。这使我们进入第二种选择

try/catch

private void bar() {    try {        foo("test");    } catch(Exception e) {        Log.wtf("MyApp", "Something went wrong with foo!", e);    }}

现在,我已经处理了潜在的

Exception
被抛出
foo
,编译器在抱怨。既然已经处理过了,所以我不需要
throws
在我的
bar
方法中添加指令。



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

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

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