Java 环绕;抛出新异常();试抓

Java 环绕;抛出新异常();试抓,java,exception,Java,Exception,如果将此语句放入方法中,则应在方法名称后添加throws Exception或者,您可以用try-catch环绕语句 throw new Exception(); 但这里的重点是什么?编译器允许它,所以我只想知道它是否是故意设计的。我很好奇。实际上,这在某些情况下很有用 比如说,您希望执行一系列任务,如果其中任何一项失败,您希望中止该序列并执行其他任务 的确,您可以对一系列if语句执行相同的操作,但这提供了另一种方法 try { throw new Exception(); } cat

如果将此语句放入方法中,则应在方法名称后添加
throws Exception
或者,您可以用try-catch环绕语句

throw new Exception();

但这里的重点是什么?编译器允许它,所以我只想知道它是否是故意设计的。我很好奇。

实际上,这在某些情况下很有用

比如说,您希望执行一系列任务,如果其中任何一项失败,您希望中止该序列并执行其他任务

的确,您可以对一系列if语句执行相同的操作,但这提供了另一种方法

try {
    throw new Exception();
} catch (Exception e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

那在我看来是胡说八道。你会问,
“但这里有什么意义呢?”
——这段代码没有意义。你从哪儿弄来的?是你自己编的吗?或者你在一些教程中看到过吗?检查这个,我觉得它像一个基本的Java介绍。它告诉您,检查异常在Java中是一个编译时错误(除非该方法声明它抛出异常,并且它必须从它调用的方法中捕获任何检查异常)。捕获刚刚抛出的异常毫无意义。您可以
尝试/catch
函数,如果这些函数失败,它们可能会
抛出
异常。它是有效的Java,因此可以编译,但不是好的Java。
try{
// do task 1
// if failed, throw new Exception("Task 1 Failed");

// do task 2
// if failed, throw new Exception("Task 2 Failed");

// do task 3
// if failed, throw new Exception("Task 3 Failed");

...

}catch(Exception e){
 // System.err.println(e.getMessage());
 // do somthing else
}