这一章节我们来简单讨论一下自定义异常类型。
一般来说java里面定义的异常类型已经够我们使用,但是,在实际操作中我们还需要其他一些自定义的类型。
在异常部分,我们一般使用类的名字就基本足够的。
下面是最简单的自定义异常类型:
package com.ray.ch10;
public class Test {
public static void main(String[] args) throws SimpleException {
throw new SimpleException();
}
}
class SimpleException extends Exception {
}
然后在开发中,上面的代码太简单,没什么用,我们再扩展一下:
package com.ray.ch10;
public class Test {
public static void main(String[] args) throws SimpleException {
// throw new SimpleException();
throw new SimpleException("自定义异常");
}
}
class SimpleException extends Exception {
public SimpleException() {
}
public SimpleException(String msg) {
super(msg);
}
}
输出:
com.ray.ch10.SimpleException: 自定义异常
at com.ray.ch10.Test.main(Test.java:7)
我们在代码里面加上自定义的信息这一部分。这样基本就可以满足需求。
上面的代码把输出流输入到标准错误流里面,然而,我们可以通过下面的修改,把输出部分当成普通输出流来处理。
package com.ray.ch10;
public class Test {
public static void main(String[] args) {
// throw new SimpleException();
try {
throw new SimpleException("自定义异常");
} catch (SimpleException e) {
e.printStackTrace(System.out);//改变的地方
}
}
}
class SimpleException extends Exception {
public SimpleException() {
}
public SimpleException(String msg) {
super(msg);
}
}
输出:
com.ray.ch10.SimpleException: 自定义异常
at com.ray.ch10.Test.main(Test.java:7)
两者的输出是一样的,但是如果我们放到ide里面执行代码,输出将会变得不一样。
这一章节就到这里,谢谢。
-----------------------------------