Java中的异常处理机制的简单原理和应用 :
java中Throwable这个类可以被作为异常抛出的类,继承它的分为异常Exception和错误Error.
Exception表示程序需要捕捉和处理的的异常;
Error表示系统级别的错误和程序无需处理的。
我们所需要关心的是Exception. Execption可以分为java标准定义的异常和程序员自定义异常2种.
(1)一种是当程序违反了java语规则的时候,JAVA虚拟机就会将发生的错误表示为一个异常.这里语法规则指的是JAVA类库内置的语义检查。
(2)另一种情况就是JAVA允许程序员扩展这种语义检查,程序员可以创建自己的异常,并自由选择在何时用throw关键字引发异常。所有的异常都是Thowable的子类。
异常处理是与程序执行是并行的.
Try{
//可能发现异常的语句块
}catch(异常类型,e){
//发生异常时候的执行语句块
} finnally{
//不管是否发生异常都执行的语句块
}
以下是一个自定义异常测试类:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
package
code;
class
MyException
extends
Exception
{
public
void
f()
{
System.out.println(
"this is my Exception!!"
);
}
}
public
class
ExceptionTestTwo {
private
int
i =
0
;
private
int
j;
ExceptionTestTwo(
int
x)
throws
MyException
{
f2();
j = x / i;
}
public
void
f2()
throws
MyException
{
System.out.println(
"this is My first Exception!!"
);
throw
new
MyException();
}
public
static
void
main(String[] args)
{
try
{
new
ExceptionTestTwo(
9
);
}
catch
(MyException e2) {
e2.f();
}
catch
(Exception e) {
e.printStackTrace();
}
finally
{
System.out.println(
"Finally is first Exception!!"
);
}
try
{
throw
new
MyException();
}
catch
(MyException e1) {
e1.f();
}
finally
{
System.out.println(
"Finally is second Exception!!"
);
}
}
}
|