国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

Java中異常機制的研究

2019-11-18 14:29:20
字體:
供稿:網(wǎng)友

  首先java的異常是面向?qū)ο蟮摹R粋€Java的Exception是一個描述異常情況的對象.當出現(xiàn)異常情況時,一個Exception對象就產(chǎn)生了,并放到異常的成員函數(shù)里。

Java的異常處理是通過5個要害詞來實現(xiàn)的:try,catch,throw,throws和finally。
1.異常處理:
在Java語言的錯誤處理結(jié)構(gòu)由try,catch,finally三個塊組成。其中try塊存放將可能發(fā)生異常的Java語言,并治理相關(guān)的異常指針;catch塊緊跟在try塊后面,用來激發(fā)被捕捉的異常;finally塊包含清除程序沒有釋放的資源,句柄等。不管try塊中的代碼如何退出,都將執(zhí)行finally塊。
2.拋出異常:
Java語言可以不在方法中直接捕捉,而用throw語句將異常拋給上層的調(diào)用者。Throw語句就是來明確地拋出一個異常;首先你必需得到一個Throwable的實例句柄,通過參數(shù)傳到catch中,或者采用new操作符來創(chuàng)建一個。
例如:public void execute(String str,int index) throws WhcaException{
try{
//可能產(chǎn)生異常的代碼;
}catch(Exception e){
throw new WhcaException(“JB: M:”+e.getMessage);
}
}
最后談?wù)勈褂?quot;異常機制"的需要注重的幾點

1.一個方法中可能會產(chǎn)生多種不同的異常,你可以設(shè)置多個"異常"拋出點來解決這個問題。

2."異常"對象從產(chǎn)生點產(chǎn)生后,到被捕捉后終止生命的全過程中,實際上是一個傳值過程,所以你可以根據(jù)需要,來合理的控制檢測到"異常"的粒度。

3."異常機制"中還有一種非凡情況――RuntimeException"異常類",這個"異常類"和它的所有子類都有一個特性,就是"異常"對象一產(chǎn)生就被Java虛擬機直接處理掉,即在方法中出現(xiàn)throw子句的地方便被虛擬機捕捉了。因此凡是拋出這種"運行時異常"的方法在被引用時,不需要有try…catch語句來處理"異常"。
4.捕捉了異常,就要對它進行適當?shù)奶幚怼U{(diào)用PRintStackTrace對調(diào)試程序有幫助,但沒有真正的處理異常!


printStackTrace()方法只能分析程序運行情況,在JDK1.4中提供了StackTraceElement類來獲取程序的運行情況!例:

import javax.swing.*;

public class StackTraceTest
{
public static int factorial(int n) {
System.out.print("迭代: ("+n+"):");
Throwable t=new Throwable();
StackTraceElement[] frames=t.getStackTrace();
for(int i=0;i<frames.length;i++)
System.out.println(frames[i]);
int r;
if(n<=1) r=1;
else r=n*factorial(n-1);
System.out.println("return " +r);
return r;
}
public static void main(String[] args) {
String input=JOptionPane.showInputDialog("Enter n:");
int n=Integer.parseInt(input);
factorial(n);
System.exit(0);
}
}

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 肥城市| 达孜县| 金秀| 钟山县| 陕西省| 安义县| 三明市| 长顺县| 永年县| 礼泉县| 阜新市| 阳西县| 伽师县| 禄劝| 育儿| 三河市| 临沂市| 凤城市| 西青区| 登封市| 拜泉县| 南昌县| 巩留县| 类乌齐县| 延长县| 丰县| 湾仔区| 绵阳市| 武乡县| 新田县| 南投县| 西畴县| 连云港市| 普定县| 卓资县| 凤阳县| 抚松县| 大丰市| 清涧县| 金华市| 乌兰察布市|