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

Java-在哪里以及如何使用异常?

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

Java-在哪里以及如何使用异常?

那里是例外,因此Task的程序员不必自己解决问题。(1):如果问题对于他来说在任务中不合逻辑。从流中读取字符串的任务不是应该处理磁盘错误吗?但是,如果数据不包含字符串,则应该非常合乎逻辑。

(2):他无法自己处理(信息不足)一项任务,要从文件中读取字符串和未找到文件,可能会要求用户选择另一个文件,但是现在该任务如何才能将文件放在哪个文件夹中?文件的扩展名。在不知道的情况下,任务如何创建GUI来重新询问。

(3):没有逻辑(或可管理)的方式来区分不同的收益。如果任务无法读取文件并返回null。如果文件格式错误,也返回null怎么办?这两个有什么不同?可以使用例外来区别这一点。那就是为什么它被称为Exception
:-D。

(4):有许多相似的任务需要类似的处理和编写,所有任务中都难以维护。编写用于所有访问的句柄代码可能会一团糟,因为您可能需要进行很多重复。

interface DBAccess {    public Result accessDB();}class DBOperation {    static public void DoOperation(DBAccess pAccess) {        try { return DBAccess.accessDB(); }        catch(InvalidDBPasswordException IPE) {  // Do anything about invalid password        }        catch(DBConnectionLostException DBCLE) {  // Do anything about database connection lost        }        // Catch all possible DB problem    }}...private User[] ShowUserList_and_ReturnUsers() {    // Find the used.    // Show user list    if (Users.count() == 0)         return null;    else return Users;    // No need to handle DB connection problem here}private User[] GetUserProfile() {    // Find the used and return    // No need to handle DB connection problem here}... {    DBOperation.DoOperation(new DBAccess() {        public Result accessDB() { return ShowUserList_and_ReturnUsers();        }    });} {    DBOperation.DoOperation(new DBAccess() {        public Result accessDB() { return GetUserProfile();        }    });}... Many more DB access

(5):编写所有错误检查会使任务复杂或减慢速度。上面的问题应该表明它如何帮助减少并发症。这是不减慢速度的方法。

for(int i = 0; i < Users.length; i++) {    User aUser = Users[i];    // Do something with user}Replaced withtry {  for(int i = 0; ; i++) {      User aUser = Users[i];      // Do something with user  }}catch(ArrayOutOfBoundException AOBE) {}

如果用户数量很多,替换代码将具有更好的性能。


当发生数据库错误时,应该返回一个空值,错误代码还是引发异常?答:取决于哪种错误。就像您找不到用户一样,这不是错误。但是,如果密码错误或连接断开,则这些错误就是尝试以常规方式处理该程序会使程序复杂化。

(1)。使用过多的try-
catch()对性能有负面影响吗?回答:根据“有效Java”的说法,就我所记得的而言,它的作用非常小(仅在循环中效果不佳)(我现在没有这本书了)。

(2)。使用特定的异常类型更好吗?回答:针对特定用户最好避免解决错误的问题。

如果我错过了可能发生的X种异常类型之一怎么办?坦白说,我在2-3年内只听到并使用了10%的Java标准异常。回答:就像处理错误一样,您也可能会错过它。您只需在发现时将其添加即可。

是的,有人说如果调用方不知道如何处理引发的异常,那么他应该没有权利调用throwing方法。那正确吗?答:不,如果我不知道该怎么做,请重新抛出。

(3)。我读过Anders
Hejlsberg的这篇文章,说检查异常是不好的。在某些情况下,这是否应表明建议方便吞咽异常?回答:我认为他正在谈论“检查异常”作为编译器的功能,以确保应处理某些异常。具有例外的想法。

(4)。一张图片价值1000字。.我想一些例子在这里会很有帮助。答:上面的代码。

我现在逃跑了....对不起… :-p(等一下,亲爱的!)



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

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

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