抛出异常java代码 java抛出异常代码例子

java提供给程序主动抛出异常的语句直接throws Exception 写在你的方法或者类名后
或者用try catch
在 Java 应用程序中,异常处理机制为:抛出异常 , 捕捉异常 。
抛出异常:当一个方法出现错误引发异常时,方法创建异常对象并交付运行时系统,异常对象中包含了异常类型和异常出现时的程序状态等异常信息 。运行时系统负责寻找处置异常的代码并执行 。
捕获异常:在方法抛出异常之后,运行时系统将转为寻找合适的异常处理器(exception handler) 。潜在的异常处理器是异常发生时依次存留在调用栈中的方法的集合 。当异常处理器所能处理的异常类型与方法抛出的异常类型相符时,即为合适 的异常处理器 。运行时系统从发生异常的方法开始,依次回查调用栈中的方法,直至找到含有合适异常处理器的方法并执行 。当运行时系统遍历调用栈而未找到合适 的异常处理器,则运行时系统终止 。同时,意味着Java程序的终止 。
对于运行时异常、错误或可查异常 , Java技术所要求的异常处理方式有所不同 。
由于运行时异常的不可查性 , 为了更合理、更容易地实现应用程序 , Java规定 , 运行时异常将由Java运行时系统自动抛出 , 允许应用程序忽略运行时异常 。
对于方法运行中可能出现的Error , 当运行方法不欲捕捉时,Java允许该方法不做任何抛出声明 。因为,大多数Error异常属于永远不能被允许发生的状况,也属于合理的应用程序不该捕捉的异常 。
在java语言中哪个关键字用于在方法上声明抛出异常?java当中,处理异常的方式主要有:try...catch...finally、throw、throws 。\x0d\x0a1、try...catch...finally:try语句块中是可能出现异常的代码块,catch语句块中是捕获的异常处理(可以包含多个catch语句块),finally是任何情况下都回输出的提示 。\x0d\x0a2、对于处理不了的异常或者要转型的异常,在方法的声明处通过throws语句抛出异常\x0d\x0a3、throw用来抛出一个异常,在方法体内 。语法格式为:throw 异常对象 。\x0d\x0athrows用来声明方法可能会抛出什么异常,在方法名后,语法格式为:throws 异常类型1 , 异常类型2...异常类型n
java自定义异常抛出分类:电脑/网络程序设计其他编程语言
问题描述:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
自定义异常类
class NumException extends Exception{
public String toString(){
return "输入的值太小";
}
public String shuru(){
return "请输入数字";
}
}
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);
}
实现接口
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())));
}
}
实现接口
public void itemStateChanged(ItemEvent e){
if (e.getSource()==rz){
msg="周长";
【抛出异常java代码 java抛出异常代码例子】}
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);
}
}
}
编译时出现:
C:\Documents and Settings\Administrator\桌面\新建文件夹\jisaunqi.java:45: jisuanqi 中的 actionPerformed(java.awt.event.ActionEvent) 无法实现 java.awt.event.ActionListener 中的 actionPerformed(java.awt.event.ActionEvent);被覆盖的方法不抛出 NumException
解析:
这段代码有问题:
实现接口
public void actionPerformed(ActionEvent e) throws NumException{声明异常
public void actionPerformed(ActionEvent e)不应该抛出异常,ActionListener接口函数没有异常抛出
一种可能的解决方法是把判断移到另外一个函数中,然后抛出异常,在actionPerformed中捕获或者在外面捕获
抛出异常java代码的介绍就聊到这里吧 , 感谢你花时间阅读本站内容 , 更多关于java抛出异常代码例子、抛出异常java代码的信息别忘了在本站进行查找喔 。

    推荐阅读