怎么在Java项目中对异常进行处理
短信预约 -IT技能 免费直播动态提醒
本文章向大家介绍怎么在Java项目中对异常进行处理的基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
Java可以用来干什么
Java主要应用于:1. web开发;2. Android开发;3. 客户端开发;4. 网页开发;5. 企业级应用开发;6. Java大数据开发;7.游戏开发等。
1. 异常例子
class TestTryCatch { public static void main(String[] args){ int arr[] = new int[5]; arr[7] = 10; System.out.println("end!!!"); }}
输出:(越界)
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 7at TestTryCatch.main(TestTryCatch.java:4)进程已结束,退出代码1
2. 异常处理
class TestTryCatch { public static void main(String[] args){ try { int arr[] = new int[5]; arr[7] = 10; } catch (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: 未报告的异常错误java.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: 自定义异常!
以上就是小编为大家带来的怎么在Java项目中对异常进行处理的全部内容了,希望大家多多支持编程网!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341