我应该在这种情况下使用例外吗?

时间:2016-11-18 19:59:00

标签: java exception

想象一下,我有一个主类来处理另一种类型的 HashMap ,我希望使用serializable接口将其存储在文件中。

我们可以将主要类别称为经理,我想要保存在文件中的类可以称为数据

现在,经理类有一种方法可将数据类的实例保存到文件中(存储数据的所有实例)在经理类中的 HashMap 中。实例的名称是我的用户输入的,因此可能不存在。

在这种情况下我该怎么办?检查实例是否存在,如果不存在,则返回false或生成返回void的函数,如果实例不存在则抛出异常?我应该在这种情况下使用例外吗?异常是否会对程序的性能产生重大影响(因为每次抛出一个程序我们都必须创建一个新对象......)

感谢。

2 个答案:

答案 0 :(得分:1)

如果您无法做任何事情,例如将文件写入磁盘但磁盘已满,则使用

Exceptions

如果您可以执行某些操作,例如在分区中检查分母是否为零,并要求用户输入另一个数字,则使用

if

Exceptionsif更贵,因为当引发异常时,它会创建堆栈跟踪以便返回。

因此,如果您可以采取任何措施来避免错误,请使用if。如果您不能,请使用exception

答案 1 :(得分:1)

当案例破坏了程序的进一步逻辑时,你需要抛出异常。

如果实例存在对于将来的操作非常重要且重要,那么您最好抛出异常。否则,该方法可以返回boolean,没有任何例外。

  

异常会对程序的性能产生重大影响吗?

不,他们不会。无论如何,你不应该为此感到焦虑 There are a good question and answers.