沒怎么用過throw。用過try和catch。
成都創新互聯是一家專業提供曲靖企業網站建設,專注與網站建設、做網站、H5建站、小程序制作等業務。10年已為曲靖眾多企業、政府機構等服務。創新互聯專業的建站公司優惠進行中。
1.throw,等你程序比如檢測到一個非法的值,則可以寫代碼,專門throw,拋出這個異常(后期會有人捕獲并處理的)
2.
catch,我是和try一起用的。
即:
try{
做你要做的事情,
尤其是可能會出錯的某些事情
比如通過網絡訪問某個地址
則可能出現超時等情況,此時最好就是把相關代碼放到此try中
}
catch()
{
然后在catch中捕獲,處理對應的異常
比如是超時的異常,就彈出個對話框,告訴用戶超時了,之類的
}
3.總之,把可能,容易出錯的代碼,放到try中,
然后在catch中寫相關的錯誤的處理的代碼。即可。
感興趣的話,用google搜:
crifanlib.cs
里面有我寫的各種函數,其中有用到try和catch。
mport?java.util.Scanner;
public?class?MainTest?{
public?void?InputAdd()?{
int?num1?=?0;
int?num2?=?0;
try?{
System.out.println("請分別輸入兩個數字,回車繼續。");
num1?=?new?Scanner(System.in).nextInt();
num2?=?new?Scanner(System.in).nextInt();
System.out.println("求和結果:"?+?(num1?+?num2));
}?catch?(Exception?e)?{
System.out.println("num1和num2中至少有一個不是數字,無法進行計算");
}
}
public?static?void?main(String[]?args)?{
MainTest?mt?=?new?MainTest();
mt.InputAdd();
}
}
運行結果:
我知道你想表達什么意思,就是不用自己if else判斷,自己寫的自定義異常能夠識別出來錯誤,但是這樣是不太可行的(至少我暫時沒在網上找到相應方案或自己想出來)
首先,if else是必須的,你不去判斷是否異常了何來的拋出異常?
就比如系統編譯時,一個String 變量還沒被賦值,就被System.out.print()出來了,那這樣肯定是不可行的,肯定會進行判斷,這一套判斷是系統自己定義的,所以編譯的時候當然會執行(因為不進行判斷出錯肯定會導致程序掛了),那你自己定義出來的,只是你人為定義,你說他錯他就錯,其實不會導致程序掛了,你把這套強加到系統,讓他編譯的時候進行判斷這樣也可以,不過估計太復雜了,這個Exception內是不進行這些判斷的,只是拋出一個信息,判斷什么的都是在其他的地方進行,所以你這個還是不能離開判斷,然后手動拋出,用try catch處理,代碼如下(和其他人的回答差不多的),最后碼字不易望采納
class freezedException extends Exception {
public freezedException() {
super("凍結");
}
}
class nomoneyException extends Exception {
public nomoneyException() {
super("沒錢");
}
}
class TextException {
public static void main(String[] args) {
boolean flag = true;
float money = 0, i = 0;
try {
if (!flag)
throw new freezedException();
if (i money)
throw new nomoneyException();
} catch (freezedException e1) {
}
catch (nomoneyException e2) {
}
}
}
Java語言提供兩種異常處理機制:捕獲異常和聲明拋棄異常。
1、捕獲異常:
(1)在Java程序運行過程中系統得到一個異常對象是,它將會沿著方法的調用棧逐層回溯,尋找處理這一異常的代碼。
(2)找到能夠處理這種類型異常的方法后,運行時系統把當前異常交給這個方法處理;如果找不到可以捕獲異常的方法,則運行時系統將終止,相應的Java程序也將退出。
(3)捕獲異常是通過try-catch-finally語句實現的。語法為:
try{
...
}catch(ExceptionName1e){
...
}catch(ExceptionName2e){
...
}
...
}finally{
...
}
2、聲明拋棄異常:
(1)當Java程序運行時系統得到一個異常對象時,如果一個方法并不知道如何處理所出現的異常,則可在方法聲明時,聲明拋棄異常。
(2)聲明拋棄異常是在一個方法聲明中的throws子句中指明的。如:
publicintread()throwsIOException{
...
}
其中throwsIOException就是聲明拋棄異常,throws后可以跟多個異常類型。
擴展資料:
程序設計語言的異常機制:
1、多數語言的異常機制的語法是類似的:用throw或raise拋出一個異常對象(Java或C++等)或一個特殊可擴展的枚舉類型的值(如Ada語言);
2、異常處理代碼的作用范圍用標記子句(try或begin開始的語言作用域)標示其起始,以第一個異常處理子句(catch,except,resuce等)標示其結束;可連續出現若干個異常處理子句,每個處理特定類型的異常。
3、某些語言允許else子句,用于無異常出現的情況。更多見的是finally,ensure子句,無論是否出現異常它都將執行,用于釋放異常處理所需的一些資源。
(1)C++異常處理是資源獲取即初始化(Resource-Acquisition-Is-Initialization)的基礎。
(2)C語言一般認為是不支持異常處理的。Perl語言可選擇支持結構化異常處理(structuredexceptionhandling)。
(3)Python語言對異常處理機制是非常普遍深入的,所以想寫出不含try,except的程序非常困難。
參考資料來源:
百度百科-異常處理
當前名稱:java整型異常處理代碼 java整型變量
網頁URL:http://vcdvsql.cn/article20/ddoisco.html
成都網站建設公司_創新互聯,為您提供ChatGPT、品牌網站設計、建站公司、搜索引擎優化、虛擬主機、外貿網站建設
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯