㈠ java編譯過程沒有錯誤為什麼運行過程後出現出現錯誤或無法載入主類
java中的錯誤一般分為編譯錯誤或者運行時的錯誤或異常
編譯錯誤一般指的是語法上的錯誤,比如引用未付值的變數,語句後少了分號等等通過編譯器可以檢查出來的錯誤
運行時的錯誤或異常,是指編譯器無法檢查出來在程序中卻又不能正確執行的代碼,比如兩個變數相除,除數為0,或者是你引用了null值等等,面向對象的語言中萬物皆對象,運行時的各種異常或錯誤也是java的類的一部分,你可以參見j2se的api,在java.lang這個包下的Throwable就是所有異常和錯誤的父類,你可以看一看
java在運行出錯時,通常都會在控制台上列印出錯信息,比如
Exception in thread "main" java.lang.NullPointerException
at Test.main(Test.java:6)
那個java.lang.NullPointerException就是異常的名稱,你就可以去API中查看此異常,就知道這個異常是什麼意思了,第二行Test.java:6的意思就是Test.java這個文件第6行報的錯誤
無法載入主類,你是怎麼判斷的,如果你是用命令行啟動,一般情況下看看檢查你的class_path設置的對不對,你運行的class文件有沒有,運行的class文件中有沒有main方法,還有就是引用的其他class文件或jar包在不在classpath的路徑下
祝你好運!
㈡ 編譯JAVA程序成功但運行javac命令時出現錯誤
編譯JAVA程序成功證明沒有語法上的錯誤,而運行javac命令時出現錯誤,也說明了是執行的代碼拋出了運行時異常。
運行時異常有:NullPointerException,IndexOutOfBoundsException, NoSuchElementException,,ClassCastException,NumberFormatException,··· ···
例如:
public class E {
public static void main(String[] args){
String s="fl";
int a=Integer.parseInt(s);
System.out.print(a);
}
}
這段代碼能通過編譯,但運行的時候會報出NumberFormatException異常:
㈢ 我寫了個java代碼,編譯沒有問題,但是執行的時候就出了一堆亂七八糟的代碼,這是怎麼回事
原因是你編譯使用的javac,把代碼編譯成版本61的class,而你的運行環境java,是一個老版本,能執行的上限是52版本。
解決方法有兩個:
1,安裝和JDK相同版本的Java運行時(JRE),並正確設置PATH變數。驗證方法是:
在黑窗口裡分別輸入java -version和javac -version,兩個版本要一致,或者java的版本更高。
相關命令截圖如下:
㈣ C語言里程序編譯無誤但運行會彈出程序已停止運行是為什麼
造成程序停止運行彈框出錯的可能原因如下:
內存溢出
內存溢出(out of memory)通俗理解就是內存不夠,程序所需要的內存遠遠超出了主機內安裝的內存所承受大小,就叫內存溢出。系統會提示內存溢出,有時候會自動關閉軟體,重啟電腦或者軟體後釋放掉一部分內存又可以正常運行該軟體
造成內存溢出的原因可能有:
1>棧區溢出,例如在main函數內開辟的數組空間過大,一般機器的棧區限制在8MB左右,如果開辟的數組大小超過限制,程序就會崩潰。通常的解決方法是申請堆內存,即將較大的數組作為全局變數開在main函數之外。
2>錯誤地址訪問,常見的非法訪問包括指針漂移,數組越界等,初學者也經常出現類似scanf函數沒加區地址符號&的情況導致在讀取變數的時候因非法訪問造成的溢出。
3>數據類型不符,問題和第二個類似,例如在聲明變數時聲明為int在輸出變數時卻用了%lld,就會造成因數據類型不符而導致的溢出。
編譯器錯誤
部分編譯器由於所使用的標准不同(例如在一台機器上使用的可能是C99標准,而另一台機器上使用的是C11標准),或是因為編譯器鏈接庫的損壞,在少數情況下也可能導致程序出現不限於崩潰退出的異常錯誤,通常解決方法是到編譯器官方網站下載最新版的IDE安裝。
㈤ 為什麼 程序 編譯通過 也是正確的 但是運行的結果卻不是正確的 我用的是VC6 寫的C語言
沒語法錯誤,有邏輯錯誤,特別是指針容易用錯。
㈥ oracle存儲過程提示編譯完成但存在錯誤,如何查看錯誤
1、首先打開PL/SQL Developer軟體,新建sql窗口。