【问题标题】:Java, Exception kinda [closed]Java,异常有点[关闭]
【发布时间】:2016-02-07 16:57:58
【问题描述】:

所以我有点困惑我应该如何处理这个问题。 我被要求编写一个程序作为工作申请的一部分。它需要我输入 2 个数字。其中一个我需要检查它是否是 int 1-32,另一个我必须确保它大于 0。

在任务描述中它说“抛出 GameException”。

然后查看异常并创建异常类时,似乎这不是对异常的正确使用。

你通常会用什么方法来解决这个问题?

【问题讨论】:

  • 你有没有试过的代码?兄弟,你的工作看起来不太好。
  • 我不得不同意上面的cmets。如果你得到这份工作,你会发生什么?你会在这里问关于你工作的每一个细节的问题吗?您的工作日是否会花在等待答案上?你很快就会被解雇。对不起。
  • When then looking into exceptions and creating an exception class, it seems that this is not the right use of exceptions. 是什么让你这么想?
  • @MDeSchaepmeester 嗯,这确实取决于工作,但该评论有点粗鲁。
  • 如果规范要求异常,那么组件应该抛出异常。该组件可能是更大图景的一部分,其中该方法更有意义。作为专业建议...与其说“我认为你的设计不正确”,不如说“帮助我理解你的设计,我想确保我保持架构的目标”在我的实现中。你能向我解释一下这个GameException 的语义以及使用它的消耗代码吗?"

标签: java exception-handling


【解决方案1】:

要在 Java 中创建 Exception,您可以执行以下操作:

class GameException extends Exception {
 GameException() {
  super();
 }
 GameException(String msg) {
  super(msg);
 }
 GameException(String msg, Throwable cause) {
  super(msg, cause);
 }
 GameException(Throwable cause) {
  super(cause);
 }
}

要使用这个Exception,您可以执行以下操作:

if(!checkNumbers(num1, num2)) throw new GameException();

checkNumbers() 是您查看两个输入数字是否符合您的要求的方法。

【讨论】:

  • 他是在问异常是如何工作的吗?而不是它们应该应用在哪里?!
  • 我可能没有说清楚,我在另一种语言中使用了异常,但在 Java 中,所以我对如何实现它们感到困惑。
  • @Murphy:Java 的一个关键区别是它检查了异常,这可能在组件规范中发挥重要作用。如果使用代码正在排除组件以引发给定异常,那么编译器将要强制执行该异常。在不了解使用代码或架构的任何内容的情况下,在一个小组件中使用几乎值得怀疑的异常可能非常有效地适合更大的设计,而无需更改使用代码。
  • “然后在查看异常并创建异常类时,似乎这不是对异常的正确使用。”我认为这是因为 OP 不确定如何创建和实现 Exception 类。
猜你喜欢
  • 2013-05-28
  • 2014-07-20
  • 2014-08-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多