Java例外抛出

Java exception throw

本问题已经有最佳答案,请猛点这里访问。

如何在Java中抛出异常,尝试下面的代码,但它引发了编译错误

1
2
3
4
5
class Demo{
    public static void main(String args[]) {
        throw new Exception("This is not allowed");
    }
}


如果没有try-catch子句或方法声明中的throws Exception,则不能抛出Exception及其子类(除了RuntimeException及其子类)。

你需要声明你的主要

public static void main(String[] args) throws Exception {

或者代替Exception,抛出RuntimeException(或其子类)。


异常处理

Exception表示需要更改程序流的异常事件或情况。

关键字trycatchthrowthrowsfinally有助于修改程序流程。

一个简单的想法是Exception被抛出它们出现或被发现的位置,并被捕获到它们要处理的位置。这允许程序执行突然跳转,从而实现修改的程序流程。

余额

必须有人能够抓住它,否则扔掉它是不对的。这是导致错误的原因。您没有指定异常的处理方式和位置,并将其抛向空中。

  • 把它放在那里

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    class Demo{
        public static void main(String args[]) {
            try { // Signifies possibility of exceptional situation
                throw new Exception("This is not allowed"); // Exception is created
                                                            // and thrown
            } catch (Exception ex) { // Here is how it can be handled
                // Do operations on ex (treated as method argument or local variable)
            }
        }
    }
  • 强迫别人处理它

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    class Demo{
        public static void main(String args[]) throws Exception { // Anyone who calls main
                                                                  // will be forced to do
                                                                  // it in a try-catch
                                                                  // clause or be inside
                                                                  // a method which itself
                                                                  // throws Exception
            throw new Exception("This is not allowed");
        }
    }
  • 希望这可以帮助