Exception in thread "main" java.lang.StackOverflowError

| ไอที | Java | 4214

Exception in thread "main" java.lang.StackOverflowError

บทความนี้เรามาทำความรู้จักกับ StackOverflowError กัน ซึ่งจะมีข้อความที่เกิดขึ้นจะแสดงข้อความประมาณด้านล่าง
Exception in thread "main" java.lang.StackOverflowError
	at com.doesystem.CodeFromDoesystem.recursiveException(CodeFromDoesystem.java:9)
	at com.doesystem.CodeFromDoesystem.recursiveException(CodeFromDoesystem.java:9)
	at com.doesystem.CodeFromDoesystem.recursiveException(CodeFromDoesystem.java:9)
	at com.doesystem.CodeFromDoesystem.recursiveException(CodeFromDoesystem.java:9)
	at com.doesystem.CodeFromDoesystem.recursiveException(CodeFromDoesystem.java:9)
	at com.doesystem.CodeFromDoesystem.recursiveException(CodeFromDoesystem.java:9)
	at com.doesystem.CodeFromDoesystem.recursiveException(CodeFromDoesystem.java:9)
	at com.doesystem.CodeFromDoesystem.recursiveException(CodeFromDoesystem.java:9)
	at com.doesystem.CodeFromDoesystem.recursiveException(CodeFromDoesystem.java:9)
	at com.doesystem.CodeFromDoesystem.recursiveException(CodeFromDoesystem.java:9)
	at com.doesystem.CodeFromDoesystem.recursiveException(CodeFromDoesystem.java:9)
จาก Error ข้างบน จะเห็นว่าเป็น StackOverflowError

ดังนั้นลองมาดูโค้ดที่ทำให้เกิด Exception กัน
package com.doesystem;

public class CodeFromDoesystem {
	public static void main(String[] args) throws Exception {
		recursiveException();
	}
	
	public static void recursiveException(){
		recursiveException();
	}
}
จากข้อความ CodeFromDoesystem.java:9 ให้เราลองไปดูที่บรรทัดที่ 9 จะเห็นว่า มีการเรียก method ที่ชื่อว่า recursiveException() ซึ่ง method ที่เรียกก็คือ recursiveException() แสดงว่า method นี้เรียกตัวของมันเองไม่มีที่สิ้นสุด

comments