1. 程式人生 > 其它 >21年10月2號___處理異常(未完待續)

21年10月2號___處理異常(未完待續)

java的又一個好處---丟擲異常

當我們遇到這樣一種情況:想讓客戶輸入一串數字,然後客戶非常不客氣地輸入一個字串“我是你爸爸“,或者我們想讓客戶輸入一串字串,但客戶什麼也沒輸入就提交了,導致輸入不成功。我們意識到必須做點什麼來避免這場事故,增強程式的健壯性(魯棒性,Robust----Strong and healthy)。

我們可以這樣:

import java.util.Scanner; 
public class Main{ 
	public static void main(String[] args){ 
		String str; 
		Scanner sc=new Scanner(System.in); 
		while (true){ 
			try{ 
				System.out.print("請輸入字串:"); 
				str=sc.nextLine(); 
				if(str.length()>0) 
					break; 
				else{
				    System.out.println("必須輸入字串!!"); 
				    continue; 
				}
			} 
		} 
		f(str);//處理字串
	} 
} 

java的開發者比你我精明,他早就預料到這種情況。

為了保證他的寶貝語言自己的輸入輸出等函式不被咱們玩兒壞,java規定,必須在使用java內建的某些函式的時候,使用異常丟擲機制。

比如這裡,在食用IO流的時候,我們需要向系統丟擲異常,或者自己內部用try catch語句捕獲異常並丟擲錯誤。

這時候上面咱們的程式就變成了這樣,功能還沒變:

...throw語句

受此啟發,我們可以利用這個java官方的try catch處理語句,自己搞事情。

......類似houtai.jsp

總結

我們可以用三種方式處理異常:

  1. 呼叫系統函式需要丟擲的異常直接拋給系統,讓系統給咱處理
  2. 呼叫系統函式需要丟擲的異常咱給系統處理,捕獲後用e.printStackTrace();讓系統丟擲
  3. 咱自己呼叫什麼東西,自己看不慣客戶的輸入,用throw語句捕獲它,自己寫異常,反饋給客戶(這就是利用try catch搞事情了)

例子:

//3種例子

關於java的系統異常

巴拉巴拉,分為兩類什麼的

https://blog.csdn.net/kaszxc/article/details/106586807

https://blog.csdn.net/michaelgo/article/details/82790253