2013-06-13 161 views
0

跳過Java編譯錯誤有可能嗎?跳過Java編譯錯誤

所以程序可能會繼續,即使它遇到錯誤。

所以這確實有點最大努力,如果你得到編譯錯誤繼續工作(直到一切都爆炸)

+0

你是指運行時錯誤嗎? – MaVRoSCy

+0

你的意思是,單個文件還是整個項目? – pinkpanther

+0

什麼是甚至無法運行的程序的用途。 (你可以隨時發表評論)。 – Nishant

回答

4

號,這意味着你的程序是不是有效的Java。它甚至意味着它會繼續嗎?它還沒有運行。

2

如果您有彙編錯誤,程序不能編譯爲運行時代碼。這實際上意味着程序無法運行。

所以,答案是沒有,它不能。

還有另一種類型的錯誤 - 運行時錯誤。這些是由於代碼中的邏輯錯誤(即嘗試修改空對象)而發生的。編譯器無法發現這些數據,因爲這些數據非常微妙,取決於數據(大部分時間取決於用戶輸入)錯誤。您可以跳過使用try-catch塊的用戶。如果你想了解更多,請參閱這篇文章:

http://docs.oracle.com/javase/tutorial/essential/exceptions/try.html

1

沒有是不可能的。 Java代碼的編譯爲您提供了隨後在JVM上運行的字節碼。如果編譯失敗,那麼Java編譯器將無法生成有效的字節碼。這就是生成JVM無法運行的錯誤字節碼沒有意義的原因。

2

是的,你可以使用eclipse編譯器。它將用一個方法替換包含錯誤的方法,該方法在被調用時會直接拋出異常。

這將允許您運行程序的其餘部分。我不會推薦它,因爲你會得到一個不一致的程序。所以請自擔風險。

它仍然可能派上用場,例如,如果您運行unittests。這允許你運行測試,即使你的程序的某些部分肯定不工作。

1

如果我們破壞那件事遲早沒有人會開發代碼。 :)

1

那麼...種。

一些IDE允許您運行其中存在編譯錯誤的代碼。例如,Eclipse。

然後,當您嘗試執行(說)一個編譯錯誤的方法時,您將收到一個異常,其消息說明在代碼中存在編譯錯誤。實際上,Eclipse編譯器已經將該方法編譯爲僅會拋出異常的存根方法。

請注意,此行爲不被JLS認可。而且我個人認爲使用這個IDE功能是一個糟糕的主意。


IMO,更好的方法是註釋掉編譯錯誤的代碼部分......或者只是修復它們。

0

你希望避免compilation errors,你有什麼事?如果你避免編譯錯誤,你會得到.class文件嗎?沒有.class文件,你不能想象運行你的代碼。 當您的代碼包含語法侵蝕時,會出現編譯錯誤。沒有適當的語法,你不能做任何事情。 關於編譯錯誤的更多信息,請參閱THIS