首页 / JAVA / java异常处理机制
java异常处理机制
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java异常处理机制,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2177字,纯文字阅读大概需要4分钟。
内容图文
/*
* 异常处理机制
* 1.分类:Error和Exception
* Error错误是JVM自动报错的,程序员无法解决例如开数组过大int a[]=new int [1024*1024*1024];
* Exception错误时程序员要解决的问题,例如指针越界,零做除数
* 2.异常处理
* try{
* 需要检测是否发生异常的代码
* }
* catch(Exception e){
* 处理异常的代码(一般是打印错误信息)
* }
* finally{
* 必须要运行的代码(一般是关闭数据库等释放资源的操作)
* }
* */
1 public class test { 2 public static void main(String[] args) { 3 int a=10,b=0,c=0; 4try{ 5 c=div(a,b);//有可能出错的代码,放在try中进行检测 6 }catch(Exception e){ 7//自己定义的输出内容 8 System.out.println("除数是0啦!"); 9//得到错误信息10 System.out.println(e.getMessage()); 11//异常名称和异常信息12 System.out.println(e.toString()); 13//异常名称+异常信息+异常位置(JVM默认的异常处理机制)14 e.printStackTrace(); 15 }finally{ 16 System.out.println("程序有错请检查"); 17 } 1819 System.out.println("经过运算c="+c); 20 } 21//在有可能出现抛异常的函数名后面需要加上throws Exception来声明可能会抛出异常,提高程序的安全性 22//调用该方法的地方必须要try-catch语句,否则编译错误23publicstaticint div (int a,int b)throws Exception{ 24return a/b; 25 } 26 }
/*
* try和finally内的代码块是肯定会执行的
* catch中的代码块只有抛出异常时才会执行(如果有多个catch,只会执行一个,而且抛出的异常也只有一个)
*
*
* 当然平时我们会用到一些自定义的异常,下面我们介绍一下自定义异常的内容
*
* 自定义异常必须要继承Exception类,否者无法抛出异常*/
1 public class test { 2 public static void main(String[] args) { 3 int a=10,b=-9,c=0; 4try{ 5 c=div(a,b);//有可能出错的代码,放在try中进行检测 6 }catch(fushuException e){ 7//自己定义的输出内容 8 System.out.println("除数是负数啦!"); 9//调用tostring方法,和getValue方法,来打印相应的报错语句10 System.out.println(e.toString()+"负数的值是:"+e.getValue()); 11 }finally{ 12 System.out.println("程序有错请检查"); 13 } 1415 System.out.println("经过运算c="+c); 16 } 17//在有可能出现抛异常的函数名后面需要加上throws Exception来声明可能会抛出异常,提高程序的安全性 18//调用该方法的地方必须要try-catch语句,否则编译错误19publicstaticint div (int a,int b)throws fushuException{ 20if(b<0){ 21//因为是个人写的异常类,所以要自己将异常类创建,并抛出22thrownew fushuException("输入的除数是负数---/by 负数", b); 23 } 24return a/b; 25 } 26} 27/*28 * 定义一个负数异常类,一旦出现除数是负数,就会抛出异常 29 * */30class fushuException extends Exception{ 31privateint value; 32public fushuException(String msg,int value) { 33//在Exception这个父类中有赋值函数和输出函数,所以只需要调用父类的构造函数34super(msg); 35this.value=value; 36 } 37publicint getValue(){ 38return value; 39 } 4041 }
/*
* throws和throw的区别
* 1.位置不同
* throws放在函数名后面
* throw放在函数里面
* 2.后面跟的内容不同
* throws后面跟一个或多个异常类名,用逗号隔开
* throw后面跟一场对象
* */
原文:http://www.cnblogs.com/zxxiaoxia/p/4185693.html
内容总结
以上是互联网集市为您收集整理的java异常处理机制全部内容,希望文章能够帮你解决java异常处理机制所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。