新聞中心
Java異常處理時如何捕獲異常的。catch里面的語句是怎么寫的
try{
專注于為中小企業(yè)提供成都網站建設、成都做網站服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)土默特右旗免費做網站提供優(yōu)質的服務。我們立足成都,凝聚了一批互聯(lián)網行業(yè)人才,有力地推動了成百上千企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網站建設實現(xiàn)規(guī)模擴充和轉變。
//代碼
代碼中通常會出現(xiàn)不知情卻在情理中的錯誤
int
age
=
a.getAge();//如果a對象為空,你卻調用它的方法就會報NullPointerException異常
}catch(//異常類型
NullPointerException
ne){//獲取你可以預知的異常
//異常處理就是你捕獲了這個異常你要這個異常進行哪種操作
//一般的操作就是記錄到日志里
//然后拋出去或者返回狀態(tài)
}catch(Exception
ex){//這個是所有異常的父類
//因為很多異常是不可預知的
//記錄到日志里
//然后拋出去或者返回狀態(tài)
}
java中如何獲取throws拋出的異常,并且把異常打印到指定的jsp頁面
比如你又一個方法叫a,調用了一個方法b(b方法throws了一個異常),那么在a里面使用try-catch捕獲這個異常,在catch塊里面,使用jsp的request,或者session將異常對象e.getMessage的內容存儲到制定的變量里面(例如request.setAttribute("errorMessage",e.getMessage));
然后到頁面使用EL表達式${errorMessage}取出來就好了。
java拋出異常在哪里處理
如果不拋出異常則是在catch塊里,拋出則由調用方法的類處理。
為了避免調用的人不知道有異常,才拋出異常的,所以是誰掉用的久在哪里處理。說的對嗎
對.
1、throws關鍵字通常被應用在聲明方法時,用來指定可能拋出的異常。多個異??梢允褂枚禾柛糸_。當在主函數(shù)中調用該方法時,如果發(fā)生異常,就會將異常拋給指定異常對象。如下面例子所示:
public
class
Shoot
{
創(chuàng)建類
static
void
pop()
throws
NegativeArraySizeException
{
//定義方法并拋出NegativeArraySizeException異常
int
[]
arr
=
new
int[-3];//創(chuàng)建數(shù)組
}
public
static
void
main(String[]
args)
{//主方法
try
{
pop();
//調用pop()方法
}
catch
(NegativeArraySizeException
e)
{
System.out.println("pop()方法拋出的異常");//輸出異常信息
}
}
}
2、throw關鍵字通常用在方法體中,并且拋出一個異常對象。程序在執(zhí)行到throw語句時立即停止,它后面的語句都不執(zhí)行。通過throw拋出異常后,如果想在上一級代碼中來捕獲并處理異常,則需要在拋出異常的方法中使用throws關鍵字在方法聲明中指明要跑出的異常;如果要捕捉throw拋出的異常,則必須使用try—catch語句。舉例如下:
class
MyException
extends
Exception
{
//創(chuàng)建自定義異常類
String
message;
//定義String類型變量
public
MyException(String
ErrorMessagr)
{
//父類方法
message
=
ErrorMessagr;
}
public
String
getMessage(){
//覆蓋getMessage()方法
return
message;
}
}
public
class
Captor
{
//創(chuàng)建類
static
int
quotient(int
x,int
y)
throws
MyException{//定義方法拋出異常
if(y
0){
//判斷參數(shù)是否小于0
throw
new
MyException("除數(shù)不能是負數(shù)");//異常信息
}
return
x/y;//返回值
}
public
static
void
main(String
args[]){
//主方法
try{
//try語句包含可能發(fā)生異常的語句
int
result
=
quotient(3,-1);//調用方法quotient()
}catch
(MyException
e)
{
//處理自定義異常
System.out.println(e.getMessage());
//輸出異常信息
}
catch
(ArithmeticException
e)
{
//處理ArithmeticException異常
System.out.println("除數(shù)不能為0");//輸出提示信息
}
catch
(Exception
e)
{
//處理其他異常
System.out.println("程序發(fā)生了其他的異常");
//輸出提示信息
}
}
}
java中 方法中拋出異常處理方法
Java語言提供兩種異常處理機制:捕獲異常和聲明拋棄異常。
1、捕獲異常:
(1)在Java程序運行過程中系統(tǒng)得到一個異常對象是,它將會沿著方法的調用棧逐層回溯,尋找處理這一異常的代碼。
(2)找到能夠處理這種類型異常的方法后,運行時系統(tǒng)把當前異常交給這個方法處理;如果找不到可以捕獲異常的方法,則運行時系統(tǒng)將終止,相應的Java程序也將退出。
(3)捕獲異常是通過try-catch-finally語句實現(xiàn)的。語法為:
try{
...
}catch(ExceptionName1e){
...
}catch(ExceptionName2e){
...
}
...
}finally{
...
}
2、聲明拋棄異常:
(1)當Java程序運行時系統(tǒng)得到一個異常對象時,如果一個方法并不知道如何處理所出現(xiàn)的異常,則可在方法聲明時,聲明拋棄異常。
(2)聲明拋棄異常是在一個方法聲明中的throws子句中指明的。如:
publicintread()throwsIOException{
...
}
其中throwsIOException就是聲明拋棄異常,throws后可以跟多個異常類型。
擴展資料:
程序設計語言的異常機制:
1、多數(shù)語言的異常機制的語法是類似的:用throw或raise拋出一個異常對象(Java或C++等)或一個特殊可擴展的枚舉類型的值(如Ada語言);
2、異常處理代碼的作用范圍用標記子句(try或begin開始的語言作用域)標示其起始,以第一個異常處理子句(catch,except,resuce等)標示其結束;可連續(xù)出現(xiàn)若干個異常處理子句,每個處理特定類型的異常。
3、某些語言允許else子句,用于無異常出現(xiàn)的情況。更多見的是finally,ensure子句,無論是否出現(xiàn)異常它都將執(zhí)行,用于釋放異常處理所需的一些資源。
(1)C++異常處理是資源獲取即初始化(Resource-Acquisition-Is-Initialization)的基礎。
(2)C語言一般認為是不支持異常處理的。Perl語言可選擇支持結構化異常處理(structuredexceptionhandling)。
(3)Python語言對異常處理機制是非常普遍深入的,所以想寫出不含try,except的程序非常困難。
參考資料來源:
百度百科-異常處理
當前文章:拋異常時java代碼獲取 java異常上拋
URL標題:http://fisionsoft.com.cn/article/hjshpg.html