异常

1、什么是异常,java提供异常处理机制有什么用?

以下程序执行过程中发生了不正常的情况,而这种不正常的情况叫做:异常
java语言是很完善的语言,提供了异常的处理方式,以下程序执行过程中出现了不正常情况,java把该异常信息打印输出到控制台,供程序员参考。程序员看到异常信息之后,可以对程序进行修改,让程序更加的健壮。

什么是异常:程序执行过程中的不正常情况。
异常的作用:增强程序的健壮性。

2、java语言中异常是以什么形式存在的呢?

异常在java中以类的形式存在,每一个异常类都可以创建异常对象

3、异常在java中以类和对象的形式存在。那么异常的继承结构是怎样的?

我们可以使用UML图来描述一下继承结构。
画UM图有很多工具,例如: Rational Rose(收费的)、starUML等…

4、什么是UML?有什么用?

UML是一种统一建模语言,一种图标式语言(画图的)。
UML不是只有java中使用。只要是面向对象的编程语言,都有UML。
一般画UM图的都是软件架构师或者说是系统分析师。这些级别的人员使用的。软件设计人员使用UML。
在UML图中可以描述类和类之间的关系程序执行的流程对象的状态等.
盖大楼和软件开发一祥,一个道理。
盖楼之前,会先由建筑师画图纸。图纸上一个一个符号都是标准符号。这个图纸画完,只要是搞建筑的都能看懂,因为这个图纸上标注的这些符号都是一种"标准的语言"。
在java软件开发当中,软件分析师/设计师负责设计类,java软件开发人员必须要能看懂。

5、异常类继承关系

Object
Object下有Throwable (可抛出的)

Throwable下有两个分支:
Error (不可处理,直接退出JVM)
Exception (可处理的)

Exception下有两个分支:
Exception的直接子类:编译时异常
RuntimeException:运行时异常

6、所有的异常都发生在运行阶段

7、Java语言中对异常的处理包括两种方式:

处理异常的第一种方式:
在方法声明的位置上使用throws关键字抛出,谁调用我这个方法,我就抛给谁。抛给 调用者 来处理。
这种处理异常的态度:上报。
处理异常的第二种方式:
使用try …catch语句对异常进行捕捉。
这个异常不会上报,自己把这个事儿处理了。异常抛到此处为止,不再上抛了。

8、深入try …catch

(1)catch后面的小括号中的类型可以是具体的异常类型,也可以是该异常类型的父类型。

(2)catch可以写多个。建议catch的时候,精确的一个一个处理。这样有利于程序的调试。

(3)catch写多个的时候,从上到下,必须遵守从小到大。

9、在以后的开发中,处理编译时异常,应该上报还是捕捉呢,怎么选?

如果希望调用者来处理,选择throws上报。
其它情况使用捕捉的方式。

10、异常对象有两个非常重要的方法:

获取异常简单的描述信息∶
String msg =exception.getMessage();
打印异常追踪的堆栈信息:
exception . printStackTrace( ) ;

例子:

NullPointerException e = new NullPointerException("空指针异常");
//获取异常简单描述信息∶这个信息实际上就是构造方法上面string参数。
String msg = e.getMessage();//空指针异常
system.out.println(msg);

e. printStackTrace();//推荐在开发中,在catch语句中使用该方法,养成好习惯

我们以后查看异常的追踪信息,我们应该怎么看,可以快速的调试程序呢?
异常信息追踪信息,从上往下一行一行看。
但是需要注意的是:SUN写的代码就不用看(看包名就知道是自己的还是SUN的),主要的问题是出现在自己编写的代码上。

11、Java中怎么自定义异常呢?
第一步:编写一个类继承Exception或者RuntimeException.
第二步:提供两个构造方法,一个无参数的,一个带有String参数的。

public class MyException extends Exception{//编译时异常
	public MyException(){
	}
	public MyException(String s){
		super(s);
	}
}
/*
public class MyException extends RuntimeException{//运行时异常
}
*/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值