黑马程序员技术交流社区
标题:
求助。关于自定义异常的问题
[打印本页]
作者:
zhengweicong
时间:
2013-7-5 12:05
标题:
求助。关于自定义异常的问题
请问亲们。我自定义一个异常继承Exception类,class MyException extends Exception,在一个类中定义了一个方法,
class ExceptionTest
{
public void print() throws MyException{
System.out.println(3/0);
}
}
复制代码
如果我打印一句System.out.println(3/0);会报异常。
我想在测试类中捕获异常,让原来在控制台的异常输出信息/ by zero 变成中文提示信息怎么做?
作者:
wangpan
时间:
2013-7-6 17:53
不用throws抛出异常,用try...catch捕获异常,在catch‘里捕获到异常的时候,输出你想输出的信息,不行吗?
作者:
zhengweicong
时间:
2013-7-8 08:45
wangpan 发表于 2013-7-6 17:53
不用throws抛出异常,用try...catch捕获异常,在catch‘里捕获到异常的时候,输出你想输出的信息,不行吗? ...
额。。。哎。都没人回我帖子。
但是。我们老师非要这样子做。
把那个异常信息变成中文。
我也不晓得怎么做。
作者:
郑才熹
时间:
2013-7-8 13:51
可以写入中文异常信息来覆盖原信息啊。举个例子吧,但不知道是不是你想要的。
class MyException extends Exception
{
MyException(String msg) //这里覆盖原信息
{
super(msg);
}
}
class Demo
{
int div(int a,int b)throws MyException
{
if(b==0)
throw new MyException("出现了除数是零的情况 / by zero"); //传入你想要的中文信息
return a/b;
}
}
class ExceptionDemo
{
public static void main(String[] args)
{
Demo d = new Demo();
try
{
int x = d.div(3,0);
}
catch (MyException e)
{
System.out.println(e.toString());
}
}
}
复制代码
作者:
黑马龙子
时间:
2013-7-25 18:27
进行使用多个异常进行处理试一试:我写的例子希望是你需要的
public class Captor {//创建类
static int quotient(int x,int y) throws MyException{ //定义方法抛出异常
if(y <= 0){ //判断参数是否小于0
throw new MyException("出现了除数是零的情况 / by zero");//异常信息
}
return x/y; //返回值
}
public static void main(String args[]){ //主方法
try{//try语句包含可能发生异常的语句
int result = quotient(3,-1);//调用方法quotient()
}
catch (MyException e) {//处理自定义异常
e.printStackTrace();
System.out.println(e.getMessage()); //输出异常信息
}
catch (ArithmeticException e) {//处理ArithmeticException异常
System.out.println("除数不能为0");//输出提示信息
}
catch (Exception e) {//处理其他异常
System.out.println("程序发生了其他的异常"); //输出提示信息
}
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2