導航:首頁 > 編程語言 > javathrowtrycatch

javathrowtrycatch

發布時間:2022-08-12 08:40:07

A. java語言如何進行異常處理,關鍵字:throws,throw,try,catch,finally分別代表什麼意

throw 僅用於方法定義後面,指示該方法可能會拋出什麼異常,使用該方法的方法必須處理該異常,或者再次拋出。
throws 用於當程序判斷發生異常時,用該語句拋出異常,或處理異常時再次拋出異常。
//下面三個關鍵字就是處理異常

try {
//這里放可能會發生異常的語句

} catch(Exception e) {
//這里處理異常

} finally {
//這里的語句必然會得到執行,不管異常發省與否,
//用於關閉資料庫,關閉連接等收尾操作(非必要)

}

java異常的一個簡單例子,比如我有一個除法方法
public int divide(int a, int b) {
return a / b;
}
但是這就有一個問題,當b是0時,程序會報錯。
如果引入異常,改成這樣
public int divide(int a, int b) throws Exception {
if (b == 0) {
throw new Exception("b = 0");
}
return a / b;
}
那麼調用端該怎麼用呢
public class ExceptionTest {
public static void main(String[] args) {
ExceptionTest et = new ExceptionTest();
try {
System.out.println(et.divide(12, 0));
} catch (Exception e) {
System.out.println("0不能做被除數");
}
}

public int divide(int a, int b) throws Exception {
if (b == 0) {
throw new Exception("b = 0");
}
return a / b;
}
}
程序可以繼續執行,不會中斷。

B. 水能詳細講解一下java 中的異常處理 try catch throw

沒怎麼用過throw。用過try和catch。
1.throw,等你程序比如檢測到一個非法的值,則可以寫代碼,專門throw,拋出這個異常(後期會有人捕獲並處理的)
2.
catch,我是和try一起用的。
即:
try{
做你要做的事情,
尤其是可能會出錯的某些事情
比如通過網路訪問某個地址
則可能出現超時等情況,此時最好就是把相關代碼放到此try中
}
catch()
{
然後在catch中捕獲,處理對應的異常
比如是超時的異常,就彈出個對話框,告訴用戶超時了,之類的
}
3.總之,把可能,容易出錯的代碼,放到try中,
然後在catch中寫相關的錯誤的處理的代碼。即可。
感興趣的話,用google搜:
crifanlib.cs
裡面有我寫的各種函數,其中有用到try和catch。

C. 在JAVA異常捕獲機制中,用Try...Catch和用Throw有什麼不同

try 內放的是需要捕獲異常的代碼, catch 是在當前類中,由當前對象處理掉,throw,是向上拋出,異常我不管,由上層解決,上層遇到也可以不處理,繼續拋,但是不能所有的拋都對,要視情況而定。需要結合API看看

D. 關於java裡面throw,throws和try catch有什麼區別嗎

try
catch是拋異常,catch裡面可以直接throw異常,名為runtimexception,運行期,throws是寫在方法後面的可以是運行也可以是編譯期,甚至可以隨便寫個異常,沒吊事。

E. java中try和catch的具體作用

try就像一個網,把try{}裡面的代碼所拋出的異常都網住,然後把異常交給catch{}裡面的代碼去處理,最後執行finally之中的代碼。

無論try中代碼有沒有異常,也無論catch是否將異常捕獲到,finally中的代碼都一定會被執行。

例如:當除數為0時,編譯不會報錯,如果沒有try/catch的話,程序直接崩潰。用try/catch的話,則可以讓程序運行下去,並且輸出為什麼出錯。



(5)javathrowtrycatch擴展閱讀

java中try....catch的使用原則

1、當代碼中可能會遇到的異常需要用try{ }catch{Exception e}來處理,否則導致程序崩潰。

2、不要在for循環裡面嵌套try catch子句。

3、盡可能的減少try catch子句的嵌套,會影響性能。

4、同一個try子句中多個catch時,異常處理原則。

當一個try塊中包含眾多語句,可能拋出多種不同的異常,只有通過多個catch塊來捕獲不同的異常。而如果兩個異常存在繼承關系,應該把子類異常放在父類異常的前面來捕獲,或者把最小范圍異常放在最前面 ,范圍大的放在後面。

因為是按照catch塊從上往下匹配,當它匹配某一個catch塊的時候,就直接進入到這個catch塊裡面去了,後面在再有catch塊的話,它不做任何處理,直接跳過去,全部忽略掉。

如果有finally的話進入到finally裡面繼續執行。Exception這個異常的根類一定要剛在最後一個catch裡面,如果放在前面或者中間,任何異常都會和Exception匹配的,就會報已捕獲到異常的錯誤。

F. JAVA語言如何進行異常處理,關鍵字:throws,throw,try,catch,finally分別代表什麼意義

package com.fml.resource;
import javax.swing.Icon;
import javax.swing.JOptionPane;
public class CaiShuZi4JOptionPane {
/**
* @param args
*/
public static void main(String[] args) {
Icon icon = null;
boolean bl = false;
int put = 0;
int c = (int) (((Math.random())*100)+1); //獲取一個1-100的隨機數
System.out.println("你獲取的隨機數是:"+c); //列印你的隨機數字

String str1 = (String) JOptionPane.showInputDialog(null,"請輸入你的猜測數字(1-100): ","猜數字游戲",JOptionPane.PLAIN_MESSAGE,icon,null,"在這輸入"); //第一次輸入你的猜測數字

if(str1==null){
JOptionPane.showMessageDialog(null, "你已經取消了本次游戲"); //如果你點取消那麼本次游戲結束
}else{
bl = num(str1); //判斷是輸入的是不是數字或者是整數
if(true==bl){ //如果是數字的話進入與隨機數比較的程序
System.out.println("你輸入的數字是:"+str1); //列印你輸入的數字
put = Integer.valueOf(str1);

for(int i = 4;i > 0;i--){ //i是你可以猜測的次數
if(put==c){
JOptionPane.showMessageDialog(null, "恭喜你猜對了,正確答案是:"+c+"。"); //如果你猜對了就直接結束循環
break;
}else if(put>c){ //如果輸大了就讓你再次從新輸入
str1 = (String) JOptionPane.showInputDialog(null,"你的輸入過大。你還有"+i+"次機會,請重新輸入: ","猜數字游戲",JOptionPane.PLAIN_MESSAGE,icon,null,"在這輸入");
if(str1==null){
JOptionPane.showMessageDialog(null, "你已經取消了本次輸入");
break;
}else{
bl =num(str1);
if(true==bl){
put = Integer.valueOf(str1);
}else{
JOptionPane.showMessageDialog(null, "你的輸入不正確,請重新輸入");
}
}
}else if(put<c){ //如果你輸小了也讓你從新輸入
str1 = (String) JOptionPane.showInputDialog(null,"你的輸入過小。你還有"+i+"次機會,請重新輸入: ","猜數字游戲",JOptionPane.PLAIN_MESSAGE,icon,null,"在這輸入");
if(str1==null){
JOptionPane.showMessageDialog(null, "你已經取消了本次輸入");
break;
}else{
bl =num(str1);
if(true==bl){
put = Integer.valueOf(str1);
}else{
JOptionPane.showMessageDialog(null, "你的輸入不正確,請重新輸入");
}
}
}
}


}else if(bl==false){ //這個 是你第一次如果填寫的不是數字的話也會結束本次游戲
JOptionPane.showMessageDialog(null, "請您下次按要求填寫。本次游戲結束");
}
if(true==bl && c!=put){ //如果你i次都沒猜對,那麼就直接告訴你這個數十什麼
JOptionPane.showMessageDialog(null, "很遺憾你沒能猜對,這個數字是:"+c+".");
}

}

}

public static boolean num(String value){ //一個靜態方法,判斷你輸入的是不是數字
try {
Integer.parseInt(value);
return true;
} catch (Exception e) {
return false;
}

}
}

你先看看我的實例,最下面的一個就是捕獲異常和進行處理的方法

在整個JAVA的異常處理中,實際上也是按照面向對象的方式進行處理,處理的步驟如下:

1、一旦產生異常,將會產生一個異常類的實例化對象。

2、在try語句中對這個異常對象進行捕獲。

3、產生的異常對象與catch語句中的各個異常類型進行匹配,如果匹配成功,則執行catch語句中的代碼。

Try{


}catch(…){

} finally{

……

}

這個finally如果沒有中途退出最後是一定會執行到的。

throws是用在主類前面的,是讓他的父類來處理這個異常。不在此類中處理

G. Java語言如何進行異常處理,關鍵字:throws,throw,try,catch,finally

throws
在方法()後面定義異常
然後在方法里可以拋出異常,
throw
拋出異常,執行異常處理

try
放異常代碼,
catch
定義可能會出的異常,
finally
無論try代碼出不出異常
都執行的
常用於關閉資料庫連接
運行時異常
跟一般異常
不一樣的地方

一般異常是指
checked
exception
運行時異常
比較難明白
就是第一次可能通過
但是第二次可能失敗
邏輯異常
等等
sql異常

H. java異常處理塊try,catch,throw,throws有什麼本質的區別

有些程序中編譯是沒有問題的.但它存在著邏輯的異常.比如說零做除數.當有這樣的情況時,你可以通過IF來處理,你也可以能過異常,也就是說如果零做除數你就用throw new Exception()拋出一個異常.!
然後能過try-catch來處理.如果說你拋出的異常寫在的是方法里,並且你沒有用try-catch來處理,那麼你就需要在方法的()後面用throws來向上一層拋出異常.當你調用這個方法的時候再進行try-catch處理

I. java異常 throw和try-catch的關系

throw是把當前方法中出現的異常拋出去,自己不處理,處理異常交給要調用它的方法;try-catch是成對出現的,意思是在try中捕獲的異常馬上交給catch去處理

J. java編程中,throws Exception{ }和try{……}catch(){……}

區別一:throw 是語句拋出一個異常;throws 是方法拋出一個異常;

throw語法:throw <異常對象>

在方法聲明中,添加throws子句表示該方法將拋出異常。如果一個方法會有異常,但你並不想處理這個異常,就在方法名後面用throws,這樣這個異常就會拋出,誰調用了這個方法誰就要處理這個異常,或者繼續拋出.

throws語法:[<修飾符>]<返回值類型><方法名>([<參數列表>])[throws<異常類>]

其中:異常類可以聲明多個,用逗號分割。

區別二:throw要麼和try-catch-finally語句配套使用,要麼與throws配套使用。但throws可以單獨使用,然後再由處理異常的方法捕獲。

聯系一:try .... catch 就是用catch 捕獲 try 中的異常,並處理;catch是捕獲異常。也就是說某一個操作有可能會拋出什麼異常。throw 就是不處理異常,直接拋出異常

調用一個會throws exception的方法(在方法定義的時候可以用throws實現)時,需要把這個方法放在try里,然後用catch破獲這個exception,做相應的處理。

throw new exception()是拋出一個exception,由別的method來破獲它。

也就是說try....catch是為破獲別人的exception用的,而throw是自己拋出exception讓別人去破獲的。

public void input() throws Exception

{ }

public void outputException()

{

try {

input();

}

catch(Exception e)

{

System.out.println("Exception");

}

}

簡單的說,如果一個方法中用了throws,那麼這個方法會向上拋出一個異常,那麼在調用這個方法的時候必須把這個調用放在try...catch塊里處理這個異常。

對於異常有兩種處理方法

1、要麼聲明異常,也就是在方法名後面加上throws exceptionname,..., 方法本身只是拋出異常,由函數調用者來捕獲異常。 若產生異常,異常會沿著調用棧下移,一直找到與之匹配的處理方法,若到達調用棧底仍未找到,程序終止。

2、要麼捕獲異常。通過try catch方法,catch子句中放置處理異常的語句。

聯系二:對於會覺得會有異常拋出的程序塊,用try{}包住,然後用catch來抓住這個異常,在catch中對異常做處理, 在try中如果有異常的話,程序會轉到catch而不會中斷,通常這兩個是配合使用的,如果你不想因為程序有錯,而拋出一大堆異常的話,你就把該程序try起來,try和catch只能獲取程序運行時引發的異常,而throw語句可以引發明確的異常,程序到了throw語句這後就立即停止,不會執行後面的程序,

大家也許在編程的過程中,會意識到這里出錯,但不知道會拋出什麼異常,也是一件頭疼的事,現將這部分總結如下:

算術異常類:ArithmeticExecption

空指針異常類:NullPointerException

類型強制轉換異常:ClassCastException

數組負下標異常:NegativeArrayException

數組下標越界異常:

違背安全原則異常:SecturityException

文件已結束異常:EOFException

文件未找到異常:FileNotFoundException

字元串轉換為數字異常:NumberFormatException

操作資料庫異常:SQLException

輸入輸出異常:IOException

方法未找到異常:NoSuchMethodException

閱讀全文

與javathrowtrycatch相關的資料

熱點內容
初學c語言顯示源未編譯 瀏覽:245
資產概況源碼 瀏覽:472
dos命令建文件夾命令 瀏覽:378
解壓的密碼htm被屏蔽 瀏覽:502
冬天太冷冰箱壓縮機不啟動怎麼辦 瀏覽:83
手機打開vcf需要什麼編譯器 瀏覽:910
加密磁碟後開機很慢 瀏覽:271
長沙智能雲控系統源碼 瀏覽:258
阿里雲伺服器如何設置操作系統 瀏覽:999
超級命令的英文 瀏覽:782
做賬為什麼要用加密狗 瀏覽:586
考研群體怎麼解壓 瀏覽:159
linux修改命令提示符 瀏覽:226
圓圈裡面k圖標是什麼app 瀏覽:63
pdf加空白頁 瀏覽:948
linux伺服器如何看網卡狀態 瀏覽:318
解壓新奇特視頻 瀏覽:707
圖書信息管理系統java 瀏覽:554
各種直線命令詳解 瀏覽:864
程序員淚奔 瀏覽:147