21年10月2號___處理異常(未完待續)
阿新 • • 發佈:2021-10-22
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
總結
我們可以用三種方式處理異常:
- 呼叫系統函式需要丟擲的異常直接拋給系統,讓系統給咱處理
- 呼叫系統函式需要丟擲的異常咱給系統處理,捕獲後用e.printStackTrace();讓系統丟擲
- 咱自己呼叫什麼東西,自己看不慣客戶的輸入,用throw語句捕獲它,自己寫異常,反饋給客戶(這就是利用try catch搞事情了)
例子:
//3種例子
關於java的系統異常
巴拉巴拉,分為兩類什麼的