本文目錄一覽:
Java程序基礎錯誤
我想是LZ你抄錯了吧。。 不可能有一本書這麼糟糕的。。。如果lz你的書的確是這樣寫。。估計也是盜版的或者別的啥原因。。
換本吧。。
LZ你的代碼有很多錯。。比如,方法里嵌套方法,方法名相同…..
正確的代碼應該是這樣的
//定義一個Book類
class Book
{
private String name; //Book的名字
static int id = 0; //Book的id,id應該是靜態的。因為你下面要輸出每本書的id號
public String getName() //取得Book的名字
{
id++; //id號自加
setName(“Java”); //設置Book的名字為“Java”
return id + ” –” + this.name; //返回id號和書本的名字(用一個+號,意思是把整數和字符串2個值進行拼接。。)
}
private void setName(String name) //設置Book的名字
{
this.name = name;
}
public Book getNames() //返回調用這個方法的對象
{
return this;
}
}
public class Test
{
public static void main(String args[])
{
Book book = new Book(); //實例化一個Book的對象
System.out.println( book.getName() ); //用book這個對象去調用方法並打印出來getName()
}
}
運行結果:
如有不懂。。可以追問。。。
望採納
java 程序中的三種錯誤類型分別是什麼?
錯誤,分為編碼錯誤,運行錯誤,jvm內部錯誤。\x0d\x0a編碼錯誤在eclipse等開發工具 中可以直觀的看到,這種錯誤比較少見。\x0d\x0a運行錯誤,又稱運行時異常,這是代碼邏輯錯誤導致的,發生這種錯誤時一定要靜下心,從程序入口處尋找錯誤誘因。\x0d\x0ajvm內部錯誤屬於Java虛擬機內部錯誤,比較少見,發生這種錯誤時,建議重啟計算機。
Java編程中常見的錯誤有哪些
相信作為程序員的我們在對程序進行編譯過程中經常會遇到錯誤,或者在運行過程中出現錯誤,在這裡主要跟大家談談經常遇到的一些異常與錯誤,以及解決辦法。
異常是指程序在編譯或運行過程出現的錯誤。
在java.lang包中Throwable包含了所有的異常。
Error (錯誤) 和Exception(異常)
(1)Error(錯誤)
一旦發生無法修復,但可以避免發生。
常見錯誤類:
IOError:I/O錯誤,當發生嚴重的I/O錯誤時,拋出此錯誤。
VirtualMachineError :虛擬機錯誤,當 Java 虛擬機崩潰或用盡了它繼續操作所需的資源時,拋出該錯誤。
StackOverflowError:棧內存滿了,當應用程序遞歸太深而發生堆棧溢出時,拋出該錯誤。
OutofMemoryError:堆內存滿了,因為內存溢出或沒有可用的內存提供給垃圾回收器時,Java 虛擬機無法分配一個對象,這時拋出該異常。
以上是一些常見的錯誤,在Error類中還有一些別的錯誤(參照文件Java.lang.Throwable.Error).
(2)Exception(異常)
一旦發生,可以捕獲並處理,不會導致程序終止,有時可以避免有時無法避免。
異常的分類:
1.編譯時異常(需要強制處理) 2.運行時異常(不需要強制處理)
常見的異常有:
IOException:輸入輸出流異常
FileNotFoundException:文件找不到的異常
ClassNotFoundException:類找不到的異常
DataFormatException:數據格式化異常
NoSuchFieldException:沒有匹配的屬性異常
NoSuchMethodException:沒有匹配的方法異常
SQLException:數據庫操作異常
TimeoutException:執行超時異常
常見的運行時異常:
RuntimeException:運行時異常
NullPointerException:空指針異常
ArrayIndexOutofBoundsException:數組越界異
ClassCastException:類型轉換異常
IllegalArgumentException:非法的參數異常
InputMismatchException:輸入不匹配
以上是常見的一些異常,另外還有別的異常,參見文件:Java.lang.Throwable.Exception
既然我們常常會遇到一些異常,那我們如何來處理這些異常就是一個急需解決的事情。
(1) 如何處理編譯時異常?
方法一:將需要處理的代碼塊放在一個try…catch…中
try{
//需要處理異常的代碼
}catch(XXXException ef){
ef.printStackTrace();
}
我們方法一就是要將我們不確定的代碼放入try……catch中,先進行try一下,如果沒有異常,則不會觸發catch,沒有輸出,一旦出現異常,那麼catch就會工作,在catch中捕獲異常信息,根據異常信息進行補救措施。
如以下代碼:
方法二:在出現異常的方法上直接向上拋出異常,throws
void ff() throws XXXException{
}
將出現的異常的代碼中,放入如上的方法中,就會將異常拋給該方法的上一級,在主函數上繼續向上拋,最終拋給JVM java虛擬機,讓JVM來解決該問題。
如代碼:
注意:在catch和throws的時候如果不確定是什麼異常,就直接寫一個Exception.
(2) 如何處理運行時異常?
1.一般情況下,運行時異常是不用處理的
2.在某些情況下,如果對發生異常的結果進行處理,也可以對運行時異常進行try…catch…
以上就是一些我們處理編譯時異常和運行時異常的方法。
在程序出現異常時,有時候我們可以自定義異常,以便我們能夠發現是什麼異常。
那麼如何自定義異常??
1.當運行時,程序出現意外,可以拋出異常對象來結束程序
如:
//拋出運行時異常對象
RuntimeException ef = new RuntimeException(“下標越界!index:”+index+” ,size:”+size());
throw ef;
2.對於編譯時異常,同樣可以拋出異常對象
但在方法定義時候必須加上throws
如:
public void test(int t) throws Exception{
if (t 0 || t 100) {
Exception ef = new Exception(“數據錯誤”);
throw ef;
}
}
例如:
運行結果:
從結果可以看出,我們在輸入數據的時候出現錯誤,這樣通過自定義異常能夠讓我們更直接快速的找到運行或編譯時的異常。
在上述中我們分別提到了三種throw,分別是Throwable,Throws以及throw,那麼到底三者有什麼區別?
Throwable:是指在在Java.lang包中的一個類,其包含了所有的異常和錯誤,其中類Error和Exception 是它
的子類。
Thows:是指在解決編譯時異常,將方法中異常拋給上一級,在方法後面要加Throw Exception來進行拋。
throw:是指在自定義異常時,如果方法出現異常,那麼將作為引用方法的對象拋出。即拋出異常。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/199137.html