簡體   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