Java例外抛出

时间:2015-09-08 11:13:23

标签: java exception

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

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

2 个答案:

答案 0 :(得分:3)

如果没有try-catch子句或方法声明中的Exception,则不能抛出

RuntimeException及其子类(除了throws Exception及其子类)。

您需要将主要声明为

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

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

答案 1 :(得分:0)

异常处理

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

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

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

余额

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

解决方案

  1. 直接处理

    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)
            }
        }
    }
    
  2. 强迫其他人处理

    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");
        }
    }
    
  3. 希望这有帮助