- 1、本文档共53页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
chapter6内部类与异常类教程
Java语言程序设计;内部类
匿名类
异常类
断言
Class类
;6.1 内部类;例6.1;;为何使用内部类;注意;6.2 匿名类;;例6.2;;;6.2.2 和接口有关的匿名类;例6.3;;6.3 异常类 ; Java的异常类是处理运行时错误的特殊类,每一种异常类对应一种特定的运行错误。Java中的每个异常都是Throwable类及其子类的实例对象,异常类的层次结构图如图7-1所示。
Throwable类分为java.lang. Exception类和java.lang. Error类,即错误和异常子类。
Error是指与虚拟机或动态装载等相关的问题 ,异常则是指一些可以被捕获且可以被恢复的错误。 ;图7-1 异常处理的类层次; 其中Error类由系统保留,而Exception类则供应用程序使用。
Exception类又分为两种:运行时异常和非运行时异常。
运行时异常(RuntimeException)是在Java运行系统执行过程中出现的异常。
非运行时异常(Non- RuntimeException)是由编译器检测到的,在程序运行过程中可能发生而要求必须处理的异常。;;异常类定义解释; Exception类的常用方法;6.3.1 try~catch~finally语句; try{
Java语句块
}
catch(异常错误类 对象名)
{
异常处理语句块
}
finally
{
Java语句块
};例:
class Exce
{
public static void main(String args[])
{
int a,b,c,d;
a=b=c=10;
try{
d=a/(b-c);
System.out.println(d=+d);
};例6.4(效果如图所示)
public class Example6_4
{ public static void main(String args[ ])
{ int n=0,m=0,t=555;
try{ m=Integer.parseInt(8888);
n=Integer.parseInt(abc789);
t=9999;
}
catch(NumberFormatException e)
{ System.out.println(发生异常:+e.getMessage());
e.printStackTrace();
n=123;
}
System.out.println(n=+n+,m=+m+,t=+t);
}
}; 在程序中也可以扩展Exception类定义自己的异常类,然后规定哪些方法产生这样的异常。这时就要用到throws和throw两个关键字。
throws包含在方法的声明中,其格式如下:
返回类型 方法名(参数)throws 异常类名
{
语句体
}
其中,异常类名可以是多个,但需要用逗号隔开。此时,方法并不需要处理它所生成的异常,而是向上传递,由调用它的方法来处理这些异常。; 异常的主动抛出由throw关键字完成。throw语句的格式为:
throw Throwableobject;
其中ThrowableObject必须为Throwable类或其子类的对象。例如:
throw new ArithmeticExcption();例6.5
class IntegerException extends Exception
{ String message;
IntegerException(int m)
{ message=年龄+m+不合理;
}
public String toString()
{ return message;
}
}
;class People
{ private int age=1;
public void setAge(int age) throws IntegerException
{
if(age=160||age=0)
throw new IntegerException(age);
//方法抛出异常,导致方法结束
文档评论(0)