繁体   English   中英

public static void main(String[] args) 抛出异常

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

这是什么意思?

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

我不知道。 如果有人知道请帮助我。 我真的很想知道“抛出异常”。

  • public:它是一个访问说明符,意味着它可以被程序中的任何其他类访问。

  • static:它是访问修饰符,表示当java程序加载时,它将自动在内存中创建空间。

  • void(返回类型):它不返回任何值。

  • main():它是一个方法或函数名。(第一个由JVM执行的方法)

  • string args []:它是一个命令行参数,它是字符串格式的变量集合。

  • 抛出异常:使用异常来通知不应忽略的内容。

这是完全不同的三件事:

public表示该方法可见,可以从其他类型的其他对象调用。 其他替代方案是私有,受保护,包和私有。 有关详细信息,请参见此处

static表示该方法与该类关联,而不是该类的特定实例(对象)。 这意味着您可以在不创建类的对象的情况下调用静态方法。

void表示该方法没有返回值。 如果方法返回一个int,你会写int而不是void。

它只是通常的入口点方法public static void main(String[]) ,除了它显式指定可能抛出的异常。 如果代码的任何部分显式抛出没有try-catch块的异常(当然不包括运行时异常),则编译器需要这样做。 例如,这将无法编译:

public static void main(String[] args){
    throw new Exception();
}

这三个关键字彼此差异很大。 Public =此类型可以由程序中的任何位置调用。 没有受到其他类别的保护。 Static =不必为了调用它们而实例化这种类型的方法。 Void =此类方法没有返回值

这个 main 方法在 main 之外抛出 Exception 的原因是因为实际程序实现的 rest 实际上根本不关心那个 Exception 是关于什么的。

例如,如果我在我的程序中所做的只是每 5 秒在屏幕上重复打印一些东西,我就不会太在意由于Thread.sleep()方法而抛出的InteruptedException 在这种情况下,我们只需将它扔到 main 之外,就可以丢弃它的无关紧要,而不必编写某种代码来处理它。

老实说,它没有什么特别之处。 这只是一种不必愚弄无意义的东西的方法。

public class IrrelevantExceptionExample {
    /**
     * Main method that repeatedly prints to the console every five seconds from a single Thread.
     * @param args - Wise words from above.
     * @throws InterruptedException - Uhm… There's only one Thread and it's sleeping! (IrrelevantException)
     */
    public static void main(String[] args) throws InterruptedException {
        System.out.println("Hey, at start up.");
        for (int i = 5; i < 25; i += 5) {
            Thread.sleep(5000);
            System.out.printf("Hey, again, except %d seconds later!%n", i);
        }
    }
}

Public:它是一个访问说明符,可以在整个程序中访问。 静态:它是一个关键字,可用于该变量的单个副本。 Void:它是一个空的返回类型。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM