十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
1 程序中的异常指不期而至的各种状况,如:文件找不到、网络连接失败、非法参数等。异常是一个事件,它发生在程序运行期间,干扰了正常的指令流程。Java通 过API中Throwable类的众多子类描述各种不同的异常。因而,Java异常都是对象,是Throwable子类的实例,描述了出现在一段编码中的 错误条件。当条件生成时,错误将引发异常。
创新互联公司:于2013年创立为各行业开拓出企业自己的“网站建设”服务,为数千家公司企业提供了专业的网站设计、成都网站制作、网页设计和网站推广服务, 按需网站设计由设计师亲自精心设计,设计的效果完全按照客户的要求,并适当的提出合理的建议,拥有的视觉效果,策划师分析客户的同行竞争对手,根据客户的实际情况给出合理的网站构架,制作客户同行业具有领先地位的。
Java异常类层次结构图:
使用Java内置的异常类可以描述在编程时出现的大部分异常情况。除此之外,用户还可以自定义异常。用户自定义异常类,只需继承Exception类即可。
在程序中使用自定义异常类,大体可分为以下几个步骤。
(1)创建自定义异常类。
(2)在方法中通过throw关键字抛出异常对象。
(3)如果在当前抛出异常的方法中处理异常,可以使用try-catch语句捕获并处理;否则在方法的声明处通过throws关键字指明要抛出给方法调用者的异常,继续进行下一步操作。
(4)在出现异常方法的调用者中捕获并处理异常。
创建自定义异常类
public class MyException extends Exception {
private static final long serialVersionUID = 1L;
public MyException(){
super();
}
public MyException(String msg){
super(msg);
}
}
使用的话就不演示了 如果你已经研究到了自定义异常 那么我相信你也一定会使用了
如果不会使用 建议学会使用后再来看这篇文章
//自定义异常
class XxxException extends Exception{
public XxxException(String message){
super(message);
}
}
你好,代码如下:
public class circle {
static double x2=0.2;
static double y2=9.5;
public static void panduan(double x1,double y1) throws Exception{
if(x1==x2y1==y2){
throw new Exception("CenterException");
}
}
public static void main(String args[]){
double radius=10.0;
double x1=5.3;
double y1=6.8;
try{
panduan(x1,y1);
}catch(Exception e){
e.printStackTrace();
System.out.println("在半径"+radius+",圆心("+x2+","+y2+")的圆心上");
}
}
}
public void MyException extends Exception{
public MyExceprion(){
System.out.println("自定义异常");
}
}
public class Exam{
public static void mul() throws MyException{
if(自己写条件){
throw new MyException();
}
}
}
这个应该能看懂吧,我只是写了个结构没写完整程序的,你看懂这个就行,定义一个自定义异常,然后在你需要的地方抛出异常,在主方法中调用方法的时候达到一定条件就会抛出异常
编写自定义异常类实际上是继承一个API标准异常类,用新定义的异常处理信息覆盖原有信息的过程。常用的编写自定义异常类的模式如下:
public class CustomException extends Exception { //或者继承任何标准异常类
public CustomException() {} //用来创建无参数对象
public CustomException(String message) { //用来创建指定参数对象
super(message); //调用超类构造器
}
}
当然也可选用Throwable作为超类。其中无参数构造器为创建缺省参数对象提供了方便。第二个构造器将在创建这个异常对象时提供描述这个异常信息的字符串,通过调用超类构造器向上传递给超类,对超类中的toString()方法中返回的原有信息进行覆盖。
来讨论一个具体例子。假设程序中需要验证用户输入的表示年龄的数据必须是正整数值。我们可以按照以上模式编写这个自定义异常类如下:
public class NegativeAgeException extends Exception {
//或者:extends Throwable
public NegativeAgeException() {}
public NegativeAgeException(String message) {
super(message);
}
}
下面是应用这个自定义异常类的例子:
try{
String ageString = JOptionPane.showInputDialog("Enter your age: ");
if (Integer.parseInt(ageString) 0)
throw new NegativeAgeException("Please enter a positive age");
else
JOptionPane.showMessageDialog(null, ageString, "Age", 1);
}
catch(NegativeAgeException e){
System.out.println(e);
}