Java异常处理实例详解

网友投稿 256 2022-11-01


Java异常处理实例详解

1. 异常例子

class TestTryCatch {

public static void main(String[] args){

int arr[] = new int[5];

arr[7] = 10;

Syshttp://tem.out.println("end!!!");

}

}

输出:(越界)

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 7

at TestTryCatch.main(TestTryCatch.java:4)

进程已结束,退出代码1

2. 异常处理

class TestTryCatch {

public static void main(String[] args){

try {

int arr[] = new int[5];

arr[7] = 10;

}

catchhttp:// (ArrayIndexOutOfBoundsException e){

System.out.println("数组范围越界!");

System.out.println("异常:"+e);

}

finally {

System.out.println("一定会执行finally语句块");

}

System.out.println("end!!!");

}

}

输出:

数组范围越界!

异常:java.lang.ArrayIndexOutOfBoundsException: 7

一定会执行finally语句块

end!!!

3. 抛出异常

语法:throw 异常类实例对象;

int a = 5, b = 0;

try{

if(b == 0)

throw new ArithmeticException("一个算术异常,除数0");

else

System.out.println(a+"/"+b+"="+ a/b);

}

catch(ArithmeticException e){

System.out.println("抛出异常:"+e);

}

输出:

抛出异常:java.lang.ArithmeticException: 一个算术异常,除数0

对方法进行异常抛出

void add(int a, int b) throws Exception {

int c = a/b;

System.out.println(a+"/"+b+"="+c);

}

TestTryCatch obj = new TestTryCatch();

obj.add(4, 0);

输出:(报错)

java: 未报告的异常错误javahttp://.lang.Exception; 必须对其进行捕获或声明以便抛出

可见,方法后面跟了 throws 异常1, 异常2...,则 必须 在调用处 处理

改为:

TestTryCatch obj = new TestTryCatch();

try{

obj.add(4, 0);

}

catch (Exception e){

System.out.println("必须处理异常:"+e);

}

输出:

必须处理异常:java.lang.ArithmeticException: / by zero

4. 编写异常类

语法:(继承 extends Exception 类)

class 异常类名 extends Exception{

......

}

class MyException extends Exception{

public MyException(String msg){

// 调用 Exception 类的构造方法,存入异常信息

super(msg);

}

}

try{

throw new MyException("自定义异常!");

}

catch (Exception e){

System.out.println(e);

}

输出:

MyException: 自定义异常!


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:简单介绍Hadoop学习思路
下一篇:操作系统迁移实战之Apache 2.4.39 移植
相关文章

 发表评论

暂时没有评论,来抢沙发吧~