欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

java代碼拋出異常 java拋出異常后還會繼續(xù)執(zhí)行嗎

JAVA如何拋出異常

如果你知道你寫的某個函數(shù)有可能拋出異常,而你又不想在這個函數(shù)中對異常進行處理,只是想把它拋出去讓調用這個函數(shù)的上級調用函數(shù)進行處理,那么有兩種方式可供選擇:

成都創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設、高性價比黃石網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式黃石網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設找我們,業(yè)務覆蓋黃石地區(qū)。費用合理售后完善,十余年實體公司更值得信賴。

第一種方式:直接在函數(shù)頭中throws SomeException,函數(shù)體中不需要try/catch。比如將最開始的例子中的testEx2改為下面的方式,那么testEx1就能捕捉到testEx2拋出的異常了。

boolean testEx2() throws Exception{

boolean ret = true;

int b=12;

int c;

for (int i=2;i=-2;i--){

c=b/i;

System.out.println("i="+i);

}

return true;

}

第二種方式:使用try/catch,在catch中進行一定的處理之后(如果有必要的話)拋出某種異常。例如上面的testEx2改為下面的方式,testEx1也能捕獲到它拋出的異常:

boolean testEx2() throws Exception{

boolean ret = true;

try{

int b=12;

int c;

for (int i=2;i=-2;i--){

c=b/i;

System.out.println("i="+i);

}

return true;

}catch (Exception e){

System.out.println("testEx2, catch exception");

Throw e;

}

}

第三種方法:使用try/catch/finally,在catch中進行一定的處理之后(如果有必要的話)拋出某種異常。例如上面的testEx2改為下面的方式,testEx1也能捕獲到它拋出的異常:

boolean testEx2() throws Exception{

boolean ret = true;

try{

int b=12;

int c;

for (int i=2;i=-2;i--){

c=b/i;

System.out.println("i="+i);

throw new Exception("aaa");

}

return true;

}catch (java.lang.ArithmeticException e){

System.out.println("testEx2, catch exception");

ret = false;

throw new Exception("aaa");

}finally{

System.out.println("testEx2, finally; return value="+ret);

}

}

在java語言中哪個關鍵字用于在方法上聲明拋出異常?

java當中,處理異常的方式主要有:try...catch...finally、throw、throws。\x0d\x0a1、try...catch...finally:try語句塊中是可能出現(xiàn)異常的代碼塊,catch語句塊中是捕獲的異常處理(可以包含多個catch語句塊),finally是任何情況下都回輸出的提示。\x0d\x0a2、對于處理不了的異常或者要轉型的異常,在方法的聲明處通過throws語句拋出異常\x0d\x0a3、throw用來拋出一個異常,在方法體內。語法格式為:throw 異常對象。\x0d\x0athrows用來聲明方法可能會拋出什么異常,在方法名后,語法格式為:throws 異常類型1,異常類型2...異常類型n

java拋出異常

拋出異常分為兩種吧,一種是制造異常,一種是拋出可能發(fā)生的異常

throw關鍵字,拋出一個異常(即制造一個異常),用法 throw 異常 ,該異常必須為java.lang.Exception的子類,如果是RuntimeException子類的話,則不需要捕獲或拋出異常。

throws關鍵字,拋出一個可能發(fā)生的異常,用在函數(shù)定義中,末尾處,以主函數(shù)為例子,public static void main(String[] args) throws 異常; 該異常必須為Exception子類,常用于其子類,是這一個方法體執(zhí)行中可能拋出(throw)的異常處理。如果不進行throws,也可以用try...catch語句進行捕獲。

自定義異常,類一定(間接)繼承java.lang.Exception類,當然,繼承java.lang.RuntimeException就可以不用進行處理,下面舉一個例子:

public class TestException extends Exception {

public TestException(String message) {

super(message);

}

public TestException() {}

}

一般自定義異常需要有2個構造函數(shù),五參構造器和String類型構造器,有參構造調用父類有參構造。

java自定義異常拋出

分類: 電腦/網(wǎng)絡 程序設計 其他編程語言

問題描述:

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

自定義異常類

class NumException extends Exception{

public String toString(){

return "輸入的值太小";

}

public String shuru(){

return "請輸入數(shù)字";

}

}

class jisuanqi extends JFrame implements ActionListener,ItemListener{

JRadioButton rz;

JRadioButton rm;

ButtonGroup bg;

JTextField txt;

JButton btnj;

String msg;

jisuanqi(){

super("計算器");

rz=new JRadioButton("周長");

rm=new JRadioButton("面積");

bg=new ButtonGroup();

txt=new JTextField();

btnj=new JButton("計算");

msg="";

this.getContentPane().setLayout(new GridLayout(2,2));

bg.add(rz);

bg.add(rm);

this.getContentPane().add(rz);

this.getContentPane().add(rm);

this.getContentPane().add(txt);

this.getContentPane().add(btnj);

this.setSize(200,200);

rz.addItemListener(this);

rm.addItemListener(this);

btnj.addActionListener(this);

}

實現(xiàn)接口

public void actionPerformed(ActionEvent e) throws NumException{聲明異常

if (Double.parseDouble(txt.getText())=0){

throw new NumException();拋出異常

}

if (msg.equals("周長")){

txt.setText(""+(3.14*2*Double.parseDouble(txt.getText())));

}

if (msg.equals("面積")){

txt.setText(""+3.14*(Double.parseDouble(txt.getText())*Double.parseDouble(txt.getText())));

}

}

實現(xiàn)接口

public void itemStateChanged(ItemEvent e){

if (e.getSource()==rz){

msg="周長";

}

if (e.getSource()==rm){

msg="面積";

}

}

public static void main(String args[]){

try{

jisuanqi js=new jisuanqi();

js.setVisible(true);

}

catch(NumException ex){

System.out.println(ex);

}

}

}

編譯時出現(xiàn):

C:\Documents and Settings\Administrator\桌面\新建文件夾\jisaunqi.java:45: jisuanqi 中的 actionPerformed(java.awt.event.ActionEvent) 無法實現(xiàn) java.awt.event.ActionListener 中的 actionPerformed(java.awt.event.ActionEvent);被覆蓋的方法不拋出 NumException

解析:

這段代碼有問題:

實現(xiàn)接口

public void actionPerformed(ActionEvent e) throws NumException{聲明異常

public void actionPerformed(ActionEvent e)不應該拋出異常, ActionListener接口函數(shù)沒有異常拋出

一種可能的解決方法是把判斷移到另外一個函數(shù)中,然后拋出異常,在actionPerformed中捕獲或者在外面捕獲

當前名稱:java代碼拋出異常 java拋出異常后還會繼續(xù)執(zhí)行嗎
URL網(wǎng)址:http://www.chinadenli.net/article46/dohejeg.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版品牌網(wǎng)站制作做網(wǎng)站外貿(mào)建站網(wǎng)站排名品牌網(wǎng)站建設

廣告

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

手機網(wǎng)站建設