「java捕获自定义异常」捕获自定义异常的程序设计

博主:adminadmin 2023-03-21 19:51:07 542

本篇文章给大家谈谈java捕获自定义异常,以及捕获自定义异常的程序设计对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

JAVA中try catch捕获异常的问题

在java中添加捕获异常代码时,需要把认为可能会出现异常的代码包括在try语句块内,处理异常的代码包括在catch语句内。在程序执行时,如果try语句内的代码出现错误,try会创建异常对象并抛出,catch捕获异常对象,则catch语句块内的代码将会执行,这样就可以处理异常错误了。

void fun1()

{

throw int();//抛出错误信息

}

int main()

{

try

{

fun1();

}

catch (int e)//捕获错误信息

{

cout "Exception" endl;

cout e endl;

}

return 0;

}

扩展资料

try是try..catch..finally块中用来引导第一部分的关键字,用于声明需要捕获指定语句块的异常

完整的使用方法是

try {

语句块1

} catch (? extends Throwable e) {

语句块2.1

} catch (? extends Throwable e) {

语句块2.2

} catch (? extends Throwable e) {

语句块2.3

...

} finally {

语句块3

}

参考资料:百度百科 - try (java关键字)

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="周长";

}

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 允许我们定义自己的异常,这样的异常就称为自定义异常。定义自定义异常的方式是继承 Exception 类,然后定义一个类来代表该异常。

下面是定义自定义异常类的示例:

================

public class MyException extends Exception {

public MyException() {

super();

}

public MyException(String message) {

super(message);

}

}

================

这里定义了一个名为 MyException 的类,它继承了 Exception 类,并定义了两个构造方法,一个是无参构造方法,另一个是带有一个字符串参数的构造方法,该字符串参数用于传入错误信息。

接下来,我们可以在可能抛出异常的方法中使用 throws 关键字声明该方法可能抛出的异常,并在方法中使用 throw 语句抛出异常。例如:

================

public class UsingMyException {

public void f() throws MyException {

System.out.println("抛出异常MyException 从 f()方法");

throw new MyException();

}

public void g() throws MyException {

System.out.println("抛出异常MyException 从 g()方法");

throw new MyException("从g()方法中抛出异常");

}

}

================

这里我们定义了一个名为 UsingMyException 的类,它包含两个方法: f() 和 g()。两个方法都使用了 throws 关键字声明它们可能会抛出 MyException 异常,并在方法内部使用 throw 语句抛出该异常

java捕获自定义异常的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于捕获自定义异常的程序设计、java捕获自定义异常的信息别忘了在本站进行查找喔。