ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

JAVA中的异常

2021-12-03 09:04:37  阅读:150  来源: 互联网

标签:JAVA System try println finally catch 异常


1.异常:未按程序预期的正常执行即为异常

2.常见异常有:

算术异常:ArithmeticExecption

空指针异常:NullPointerException

数组下标越界异常:ArrayIndexOutOfBoundsException

类型转换异常:ClassCastException

数组负下标异常:NegeativeArrayException

字符串转换为数字异常:NumberFormatException 

输入类型不匹配:InputMisMatchException

3 异常的捕获与抛出

捕获异常  try --catch--finally
 1 try{
 2 //监控区
 3 //可能存在的异常的代码
 4 }catch( 异常类型 e){
 5 // 如果try没有发现异常。忽略所有的catch块
 6 //如果 try 中报错了,此时匹配异常类型,执行此处代码,
 7 // 如果代码走到catch中,则默认被解决了
 8 }catch(xxx  e){
 9 //catch 可以有多个,本条处理异常为xxx的异常
10 }catch(xxxxx  e){
11 //本条处理异常为xxxxx 的异常
12 }finally{
13 //finally块是可选的,但是有finally块的话,无论异常是否发生或者是否处理,finally都会执行
14 }

注意:

1.try中没有异常的话直接忽略所有的catch代码

2.如果try发生异常,异常之后的代码就不会执行,会跳过然后去catch中匹配有没有解决这个异常的代码

 2.1如果有,则执行catch中的代码,只要执行了catch中的代码,则认为异常已解决,程序会继续执行try--catch之后的代码

 2.2如果没有,程序会报错,不再向下执行

3.在编写catch中的异常类型时,范围必须由小到大

4.finally 表示一定会执行的代码,不管是否异常

  *除非出现手动关闭程序:System.exit( 0 );

5.如果 try-catch 中存在return的话,finally 还会执行,而且先执行finally在执行return 

示例:

 1 public class Demo {
 2     public static void main(String[] args) {    
 3 try{
 4             System.out.println("纷纷");
 5             System.exit(0);
 6             System.out.println(2/0);//算数异常
 7             System.out.println("二");//前一代码异常,此条不执行
 8         }catch(NullPointerException e){//未匹配解决方案,继续向下执行
 9             System.out.println("si");
10         }catch(ClassCastException e){ //未匹配到解决方法,五其他解决方法,报错,终止运行
11             System.out.println("输错了");
12 //        }catch(Exception e){ //exception   所有异常
13 //            e.printStackTrace();//输出异常信息
14 //            System.out.println("呜呜呜");//注释部分为测试部分,不影响执行
15         }finally{
16             System.out.println("finally");
17         }
18         System.out.println("wulalala");
19 }
20 }

 

   抛出异常:throw ,throws

  throws

public int division( ) throws Exception{
//表示此方法被调用的时候可能存在异常,
//throws ,抛出异常,抛给调用者 }

  throw

try{
//可能发生的异常
}catch(Exception){
throw new Exception ( e );//用new 的方式,抛出异常
}
throw                     throws                  
生成并抛出异常 声明方法内抛出异常
位于方法体内部,可作为单独语句使用 必须跟在参数列表后面,不能单独使用
抛出一个异常对象,且只能一个 声明抛出异常类型,可以跟多个异常

 

 

 

 

 


//无论异常是否发生,异常是否匹配被处理,finally都会执行。
 //finally块通常是可选的。

标签:JAVA,System,try,println,finally,catch,异常
来源: https://www.cnblogs.com/yydsgh/p/15633729.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有