十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
super("除數(shù)為0異常"); Container container = getContentPane(); container.setLayout(new GridLayout(3, 2)); container.add(new JLabel("輸入被除數(shù)", SwingConstants.RIGHT)); numeratorField = new JTextField(10); container.add(numeratorField); container.add(new JLabel("輸入除數(shù)并回車", SwingConstants.RIGHT)); denominatorField = new JTextField(10); container.add(denominatorField); denominatorField.addActionListener(this); container.add(new JLabel("結(jié)果", SwingConstants.RIGHT)); outputField = new JTextField(); container.add(outputField); setSize(425, 100); setVisible(true);}public void actionPerformed(ActionEvent event) { outputField.setText(""); numerator = Integer.parseInt(numeratorField.getText());// 被除數(shù)try {denominator = Integer.parseInt(denominatorField.getText()); } catch (NumberFormatException ex) {// 捕捉除數(shù)格式異常錯(cuò)誤 System.out.println("I detected Exception" + ex.toString()); return;// 當(dāng)發(fā)現(xiàn)異常的時(shí)候退出方法}try {/** 這個(gè)地方調(diào)用quotient()方法,則必須要捕捉異常*/quotient = quotient(numerator, denominator); } catch (myArithmeticException e) { // TODO Auto-generated catch block System.out.println(e.toString()); outputField.setText(e.toString());return;}outputField.setText(Integer.toString(quotient));}/** 這個(gè)方法拋出異常,那么調(diào)用這個(gè)方法是就要捕捉異常*/public int quotient(int numerator, int deniminator) throws myArithmeticException { if (denominator == 0) throw new myArithmeticException(denominator); return numerator / deniminator;}public static void main(String[] args) { // TODO Auto-generated method stub

創(chuàng)新互聯(lián)自2013年起,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元嘉善做網(wǎng)站,已為上家服務(wù),為嘉善各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:028-86922220
1):?throws ArithmeticException
2:)new
3:)ArithmeticException
代碼塊里拋異常使用的是throw 關(guān)鍵字, 方法體拋異常使用的是throws 關(guān)鍵字
使用try catch 用于捕獲拋出的異常, 并試圖進(jìn)行處理
完整的參考代碼
public?class?TestThrow?{
static?int?x?=?0;
static?int?y?=?0;
public?static?void?divide()?throws?ArithmeticException?{?//?方法定義拋出異常
if?(x?!=?0)?{
y?=?100?/?x;
}?else?{
throw?new?ArithmeticException("除數(shù)不能為零!");//拋出異常
}
}
public?static?void?main(String[]?args)?{
try?{
divide();
}?catch?(ArithmeticException?e)?{//捕獲方法拋出的異常,并在catch里打印出來
e.printStackTrace();
}
}
}
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的程序非常困難。
參考資料來源:
百度百科-異常處理
這種問題寫個(gè)代碼跑一下就可以了,java中整數(shù)除以0會(huì)引發(fā)
java.lang.ArithmeticException: / by zero
ArithmeticException是出現(xiàn)異常的運(yùn)算條件時(shí),拋出此異常,結(jié)果如下圖:
除此之外還要注意,浮點(diǎn)數(shù)除以0將會(huì)的得到 Infinity(無窮大)或NaN結(jié)果,但不會(huì)報(bào)異常。