1. 程式人生 > >System.exit(n),正常退出與異常退出的區別

System.exit(n),正常退出與異常退出的區別

今天碰到個很簡單的問題,平時都不怎麼注意這些細節,還特意去搜了一下:正常退出與異常退出有什麼區別?
public static void exit(int status)
終止當前正在執行的 Java 虛擬機器。引數用作狀態碼;根據慣例,非 0 的狀態碼錶示異常終止。 

該方法呼叫 Runtime 類中的 exit 方法。該方法永遠不會正常返回。

呼叫 System.exit(n) 實際上等效於呼叫:

 Runtime.getRuntime().exit(n)
從上面可以看出
System.exit(0):正常退出
System.exit(1):異常退出
其實他們的效果都是一樣的,程式都會退出,關鍵是退出之後返回的不一樣,看該程式外面怎麼用了,如果不用返回結果的話,其實效果是一樣的。
下面給個簡單的bat例子:
java   abc.HelloWorld 

ECHO   exit=%ERRORLEVEL% 

IF   ERRORLEVEL   0   ECHO   正常結束,或者呼叫了System.exit(0) 
IF   ERRORLEVEL   1   ECHO   System.exit(1)

相關推薦

System.exit(n)正常退出異常退出區別

今天碰到個很簡單的問題,平時都不怎麼注意這些細節,還特意去搜了一下:正常退出與異常退出有什麼區別? public static void exit(int status) 終止當前正在執行的 Java 虛擬機器。引數用作狀態碼;根據慣例,非 0 的狀態碼錶示異常終止。

java的System.exit(0)和System.exit(n)

終止當前正在執行的 Java 虛擬機器。引數用作狀態碼;根據慣例,非 0 的狀態碼錶示異常終止。 該方法呼叫 Runtime 類中的 exit 方法。該方法永遠不會正常返回。 呼叫 System.e

python學習筆記-day10-【 類的擴展: 重寫父類新式類經典的區別

SM per div 以及 筆記 如何 img int 重寫 上周已經記錄過類的許多定義概念,今天接著繼承來說說,如何重寫父類,以及在Python2與python3中中經典類與新式類的區別。 一、重寫父類 1、重寫,繼承父類方法,方法定義完全一樣,只是子類實現換成了子類

對this的理解關鍵字superthis的區別

可用 父類 子類構造方法 屬性 方式 構造 使用方法 並且 this this關鍵字: 1、調用本類中的屬性(成員變量); 2、調用本類中的方法; 3、調用本類中的其他構造方法,調用時要放在構造方法的首行。 註意this只在非靜態方法中使用,靜態方法和靜態代碼不能出現thi

為什麽開源外圍包安裝指導都是按照到/usr/local/目錄下/usr/local/usr的區別

doc pre 為什麽 div cal sbin tor 很多 tar 很多應用都安裝在/usr/local下面,那麽,這些應用為什麽選擇這個目錄呢?Automake工具定義了下面的一組變量: Directory variable Default value pre

onload事件ready事件的區別原生jsjquery的區別

onload事件與ready事件分別是原生js與jquery的入口函式 原生js入口函式寫法: window.onload=function(){ } jquery入口函式寫法: $(document).ready(function(){ });   二者的區別主要有:  

python中的幾個高階問題詳解(__init__裝飾器執行步驟@staticmethod和@classmethod區別單例模式魔法方法object繼承不繼承區別

第一個問題,init 在定義一個類時,什麼時候用__init__函式,什麼時候不用,用不用有什麼區別? 首先__init__是為了初始化用的,但是初始化的時候不一定要用這個,直接定義也是可以的,比如 class A(object): test_a = '123' 而我們用__

死鎖活鎖的區別死鎖飢餓的區別

第一次玩屬於自己的部落格,今天在一個App上看到的,說的很好,再敲了一遍,分享一下有關於死鎖、活鎖及飢餓的概念和區別,希望大家共同進步! 死鎖:是指兩個或兩個以上的程序(或執行緒)在執行過程中,因爭奪資源而造成的一種互相等待的現象,若無外力作用,它們都將無法推進下去。此時稱系統處於死鎖狀態或系統產生了死鎖,

【mysql】count(*)count(1)count(column)區別

count(*)對行的數目進行計算,包含NULL count(column)對特定的列的值具有的行數進行計算,不包含NULL值。 count()還有一種使用方式,count(1)這個用法和count(*)的結果是一樣的。 效能問題 1.任何情況下SELECT COUNT(*)

realloc函式malloc函式calloc函式區別

一, malloc   void *malloc(unsigned int num_byte) 1,num_bytes為需要申請的記憶體大小,需要人為的去計算,申請的型別徐手動強轉為對應指標的型別 2,申請的值是不確定的 二 calloc void*calloc(

TCP/IP協議HTTP協議webSocket協議區別

http協議(識別資料內容)與webSocket協議 同:建立在TCP之上,同http一樣通過TCP來傳輸資料 不同: HTTP協議為單向協議,即瀏覽器只能向伺服器請求資源,伺服器才能將資料傳送給瀏覽器,而伺服器不能主動向瀏覽器傳遞資料。分為長連線和短連線,短連線是

C# 多執行緒操作介面時使用InvokeBeginInvoke的區別

Invoke方法的引數很簡單,一個委託,一個引數表(可選),而Invoke方法的主要功能就是幫助你在 UI執行緒(即建立控制元件的執行緒)上呼叫委託所指定的方法。Invoke方法首先檢查發出呼叫的執行緒(即當前執行緒)是不是UI執行緒,如果是,直接執行委託指向 的方法

類中陣列成員變數怎麼初始化陣列名指標的區別

使用STL標準模板庫之後,程式設計時已經很少使用陣列和指標,相反,多使用序列容器vector代替之。 (std::vector<int>,建構函式接受const std::vector<int> &vec,拷貝用this->arr= vec 即可)

Android---MVP模式介紹以及MVPMVC的區別

(1). MVP模式簡介 相信大家對MVC都是比較熟悉了:M-Model-模型、V-View-檢視、C-Controller-控制器,MVP作為MVC的演化版本,那麼類似的MVP所對應的意義:M-Model-模型、V-View-檢視、P-Presenter-表示器。 從MV

多播委託觀察者模式聯合使用以及委託事件的區別

首先我們先看一下多播委託: 使用委託時,首先我們宣告委託,委託語法一共有四種類型,分別時有參,無參,以及有無引數返回值。 1 public class DelegateShow //: System.MulticastDelegate,多播委託 2 { 3 public del

Python字串中raw字串repr的區別

在Python中,對於一個字串,設原字串為: str1 = '''{ ... quote = " \" " ... }''' 如題,如果處理時直接讀取字串,那麼quote對應的\"字元將會被轉義為一個

shell檔案編輯工具sed -ied的區別

著無聊,繼續答題問題:GNU sed 提供了-i選項,為什麼有人說sed -i 並不象 ed 一樣真正的編輯檔案?(提示:觀察檔案改變前後的inode)注意審題的話,這題是二個檔案編輯器的比較,也有可能是提示的誤導,這題大都知道答-i 是用臨時檔案的機制,但這道題如果不通過說

mysql count(*)count(1)count(column)區別

count(*)對行的數目進行計算,包含NULLcount(column)對特定的列的值具有的行數進行計算,不包含NULL值。count()還有一種使用方式,count(1)這個用法和count(*)的結果是一樣的。效能問題1.任何情況下SELECT COUNT(*) FRO

Python | 面試必問執行緒程序的區別Python中如何建立多執行緒?

本文始發於個人公眾號:**TechFlow**,原創不易,求個關注 今天是Python專題第20篇文章,我們來聊聊Python當中的多執行緒。 其實關於元類還有很多種用法,比如說如何在元類當中設定引數啦,以及一些規約的用法等等。只不過這些用法比較小眾,使用頻率非常低,所以我們不過多闡述了,可以在用到的時

Springboot+mybatis注意事項以及@Repository@Mapper的區別

第一步:pom檔案匯入依賴      以及相關外掛     第二步: 核心配置檔案配置連線資料庫的相關資訊:使用mysql8.0.19版本為例(注意8.0版本driver需要加cj)      第三步(注意): 1、#