内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

java除法異常處理代碼 java除法語句

JAVA語言如何進(jìn)行異常處理,關(guān)鍵字:throws,throw,try,catch,finally分別代表什么意

throw 僅用于方法定義后面,指示該方法可能會(huì)拋出什么異常,使用該方法的方法必須處理該異常,或者再次拋出。

創(chuàng)新互聯(lián)建站專注于企業(yè)成都全網(wǎng)營銷推廣、網(wǎng)站重做改版、成華網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、HTML5建站、成都商城網(wǎng)站開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為成華等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

throws 用于當(dāng)程序判斷發(fā)生異常時(shí),用該語句拋出異常,或處理異常時(shí)再次拋出異常。

//下面三個(gè)關(guān)鍵字就是處理異常

try {

//這里放可能會(huì)發(fā)生異常的語句

} catch(Exception e) {

//這里處理異常

} finally {

//這里的語句必然會(huì)得到執(zhí)行,不管異常發(fā)省與否,

//用于關(guān)閉數(shù)據(jù)庫,關(guān)閉連接等收尾操作(非必要)

}

java異常的一個(gè)簡(jiǎn)單例子,比如我有一個(gè)除法方法

public int divide(int a, int b) {

return a / b;

}

但是這就有一個(gè)問題,當(dāng)b是0時(shí),程序會(huì)報(bào)錯(cuò)。

如果引入異常,改成這樣

public int divide(int a, int b) throws Exception {

if (b == 0) {

throw new Exception("b = 0");

}

return a / b;

}

那么調(diào)用端該怎么用呢

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不能做被除數(shù)");

}

}

public int divide(int a, int b) throws Exception {

if (b == 0) {

throw new Exception("b = 0");

}

return a / b;

}

}

程序可以繼續(xù)執(zhí)行,不會(huì)中斷。

java中 方法中拋出異常處理方法

Java語言提供兩種異常處理機(jī)制:捕獲異常和聲明拋棄異常。

1、捕獲異常:

(1)在Java程序運(yùn)行過程中系統(tǒng)得到一個(gè)異常對(duì)象是,它將會(huì)沿著方法的調(diào)用棧逐層回溯,尋找處理這一異常的代碼。

(2)找到能夠處理這種類型異常的方法后,運(yùn)行時(shí)系統(tǒng)把當(dāng)前異常交給這個(gè)方法處理;如果找不到可以捕獲異常的方法,則運(yùn)行時(shí)系統(tǒng)將終止,相應(yīng)的Java程序也將退出。

(3)捕獲異常是通過try-catch-finally語句實(shí)現(xiàn)的。語法為:

try{

...

}catch(ExceptionName1 e){

...

}catch(ExceptionName2 e){

...

}

...

}finally{

...

}

2、聲明拋棄異常:

(1)當(dāng)Java程序運(yùn)行時(shí)系統(tǒng)得到一個(gè)異常對(duì)象時(shí),如果一個(gè)方法并不知道如何處理所出現(xiàn)的異常,則可在方法聲明時(shí),聲明拋棄異常。

(2)聲明拋棄異常是在一個(gè)方法聲明中的throws子句中指明的。如:

public int read()() throws IOException{

...

}

其中throws IOException就是聲明拋棄異常,throws后可以跟多個(gè)異常類型。

擴(kuò)展資料:

程序設(shè)計(jì)語言的異常機(jī)制:

1、多數(shù)語言的異常機(jī)制的語法是類似的:用throw或raise拋出一個(gè)異常對(duì)象(Java或C++等)或一個(gè)特殊可擴(kuò)展的枚舉類型的值(如Ada語言);

2、異常處理代碼的作用范圍用標(biāo)記子句(try或begin開始的語言作用域)標(biāo)示其起始,以第一個(gè)異常處理子句(catch, except, resuce等)標(biāo)示其結(jié)束;可連續(xù)出現(xiàn)若干個(gè)異常處理子句,每個(gè)處理特定類型的異常。

3、某些語言允許else子句,用于無異常出現(xiàn)的情況。更多見的是finally, ensure子句,無論是否出現(xiàn)異常它都將執(zhí)行,用于釋放異常處理所需的一些資源。

(1)C++異常處理是資源獲取即初始化(Resource-Acquisition-Is-Initialization)的基礎(chǔ)。

(2)C語言一般認(rèn)為是不支持異常處理的。Perl語言可選擇支持結(jié)構(gòu)化異常處理(structured exception handling)。

(3)Python語言對(duì)異常處理機(jī)制是非常普遍深入的,所以想寫出不含try, except的程序非常困難。

參考資料來源:

百度百科-異常處理

Java異常處理

import java.util.Scanner;

public class ExceptionDemo {

public static void main(String[] args) {

double op1,op2,r;

Scanner sc=new Scanner(System.in);

System.out.println("請(qǐng)輸入兩個(gè)double型的參數(shù)");

op1=sc.nextDouble();

op2=sc.nextDouble();

try {

r=div(op1,op2);

}

catch(MyException ex) {

System.out.println(ex.getMessage());

do {

System.out.println("除數(shù)為0,請(qǐng)重新輸入操作數(shù)2的值!");

op2=op2=sc.nextDouble();

}while(0==op2);

}

finally {

System.out.println(""+op1+"/"+op2+"的結(jié)果是:"+(op1/op2));

}

sc.close();

}

static double div(double op1,double op2) throws MyException {

if(0==op2) {

throw new MyException("自定義異常,除數(shù)為0異常");

}

return op1/op2;

}

}

class MyException extends Exception {

MyException(String msg) {

super(msg);

}

}

JAVA,將整數(shù)變量a和b相除,即a/b,并對(duì)b=0時(shí)進(jìn)行自定義異常處理。

public class DevideZeroException extends RuntimeException// (1)//自定義異常類DevideZeroException來表示除數(shù)為0錯(cuò)誤

{

public DevideZeroException() {

super("除數(shù)不能為零!");// (2)("除數(shù)不能為零!");

}

public DevideZeroException(String message) {

super(message);// ( 3 )

}

}

public class Test {

public static void main(String[] args) {

try {

int a = 10;

int b = 0;

if (b == 0 /* (4) */) {/* (5) */

throw new DevideZeroException();

} else {

System.out.println(a / b);

}

} catch (DevideZeroException e) {

System.out.println(e.getMessage()/* (6) */);

} finally {

System.out.println("end");

}

}

}

運(yùn)行結(jié)果:

除數(shù)不能為零!

end

文章題目:java除法異常處理代碼 java除法語句
網(wǎng)頁網(wǎng)址:http://www.rwnh.cn/article10/dopjido.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、網(wǎng)站收錄、標(biāo)簽優(yōu)化建站公司、

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名
永康市| 阿拉尔市| 临汾市| 内乡县| 平陆县| 牡丹江市| 政和县| 贵德县| 怀来县| 法库县| 杂多县| 佛山市| 广水市| 青铜峡市| 塔河县| 新密市| 明水县| 高州市| 中超| 浏阳市| 文成县| 文安县| 常山县| 乡城县| 唐山市| 二连浩特市| 门头沟区| 绥中县| 宁德市| 新津县| 石泉县| 革吉县| 肇庆市| 高密市| 镇沅| 西青区| 唐海县| 简阳市| 广灵县| 化隆| 田东县|