JAVA程序中抛出与声明异常
2010-08-17 23:56
197 查看
抛出异常
上一篇文章中,我们介绍了捕获异常的知识。但是大家一定会问,既然我们可以捕获到各种各样的异常,那么这些异常是在什么地方抛出的呢?
在编程过程中,我们往往会遇到这种情况,在当前环境中无法解决,比如用户传入的参数错误,IO设备问题等。此时,就要从当前环境中抛出异常提交给上级来处理。
在JAVA语言中,使用throw关键字来抛出异常。来看以下代码
Code:
public class A**Exception
{
private String id;
public void setID(String id)
{
if(id.length() == 7)
{
this.id = id;
}else
{
throw new IllegalArgumentException("参数长度不是7位");
}
}
}
以上代码,我们就抛出了一个IllegalArgumentException类型的异常。
声明异常
如果在一个方法体中抛出了异常,我们就希望调用者能够去捕获异常。那么,如何通知调用者呢?
在JAVA语言中,通过throws关键字声明某个方法可能抛出的异常,以上代码中,我们抛出一个IllegalArgumentException类型的
异常。通过以下操作,就可以让调用者明白该方法有可能出现什么样的异常,要及时捕获!
Code:
public class A**Exception
{
private String id;
//利用throws关键字声明该方法可能出现的异常
public void setID(String id) throws IllegalException
{
if(id.length() == 7)
{
this.id = id;
}
else
{
throw new IllegalArgumentException("参数长度应为7");
}
}
}
上一篇文章中,我们介绍了捕获异常的知识。但是大家一定会问,既然我们可以捕获到各种各样的异常,那么这些异常是在什么地方抛出的呢?
在编程过程中,我们往往会遇到这种情况,在当前环境中无法解决,比如用户传入的参数错误,IO设备问题等。此时,就要从当前环境中抛出异常提交给上级来处理。
在JAVA语言中,使用throw关键字来抛出异常。来看以下代码
Code:
public class A**Exception
{
private String id;
public void setID(String id)
{
if(id.length() == 7)
{
this.id = id;
}else
{
throw new IllegalArgumentException("参数长度不是7位");
}
}
}
以上代码,我们就抛出了一个IllegalArgumentException类型的异常。
声明异常
如果在一个方法体中抛出了异常,我们就希望调用者能够去捕获异常。那么,如何通知调用者呢?
在JAVA语言中,通过throws关键字声明某个方法可能抛出的异常,以上代码中,我们抛出一个IllegalArgumentException类型的
异常。通过以下操作,就可以让调用者明白该方法有可能出现什么样的异常,要及时捕获!
Code:
public class A**Exception
{
private String id;
//利用throws关键字声明该方法可能出现的异常
public void setID(String id) throws IllegalException
{
if(id.length() == 7)
{
this.id = id;
}
else
{
throw new IllegalArgumentException("参数长度应为7");
}
}
}
相关文章推荐
- 异常父类为什么java中子类重写父类的方法时声明抛出异常不能比父类范围大
- hadoop程序抛出异常:java.lang.IllegalArgumentException: Wrong FS: hdfs:/ expected file:///
- 错误:未报告的异常 java.io.IOException;必须对其进行捕捉或声明以便抛出
- Android ADT插件更新后程序运行时抛出java.lang.VerifyError异常解决办法
- Java学习笔记61. 程序抛出的异常Exception
- java异常——异常分类+声明已检查异常+如何抛出异常+自定义异常类
- Java| Java异常新理解RuntimeException(不抛出异常,程序运行时出错会有错误信息)
- JAVA 抛出与声明异常
- Java 中子类重写父类的方法时声明抛出异常不能比父类范围大
- java中使用javac编译时报错:未报告的异常 java.net.MalformedURLException;必须对其进行捕捉或声明以便抛出
- 一个递归抛出异常的java程序
- Java如何将处理完异常之后的程序能够从抛出异常的地点向下执行?
- 为什么java中子类重写父类的方法时声明抛出异常不能比父类范围大
- RuntimeException异常可以在没有异常声明的时候被抛出
- 编写高质量代码改善C#程序的157个建议——建议153:若抛出异常,则必须要注释
- java中对于多线程程序的捕获异常的方案
- 数据库中可以执行的sql语句,在程序中执行抛出乱码异常
- Java异常的捕获和抛出
- 【开发技术】java异常的捕获与抛出原则
- c#操作Excel时,抛出异常:“未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序”