异常及异常处理

Posted 朕射你有罪

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了异常及异常处理相关的知识,希望对你有一定的参考价值。

/**
 * 捕获异常!
 * try{
 *        执行语句,出现异常将不再继续执行后面语句,直接跳到对应的catch异常块,
 * }catch(exception e){
 *         跳到此处后将把这里内容执行完后,如有finally语句块将执行finally语句块后结束,否则直接结束异常抛出语句块。
 * }finally {    
 *         异常语句块结束后必执行的语句块,一般用于释放内存。
 * }
 * 
 * * 抛出异常语法
 * public void 方法名() throws 异常列表{
 *         throw new 异常类型("异常信息");
 * }
 * * 自定义一个异常类
 * 语法:
 * public class 类名 extends Exception{
 *  }
 *  
 * *不能处理,抛出异常
 * public void Test1(int i) throws Exception//此处用throws,
 *    {
 *            if (i==0)
 *        {
 *            throw new Exception("i不能为“0”");//此处用throw,抛出异常为Exception或自定义时,必须自己解决或向上抛出。
 *        }
 *    }
 */

例子:

 

 1 public class Demo1
 2 {
 3     public static void main(String[] args)
 4     {
 5         System.out.println("main开始");
 6         Demo1 d=new Demo1();
 7         d.js();
 8         d.Test2();//自定义异常
 9         System.out.println("main结束");
10     }
11     
12     public void Test1(int i) throws Exception
13     {
14         if (i==0)
15         {
16             throw new Exception("i不能为“0”");
17         }
18     }
19     
20     public void Test2(){
21         try
22         {
23             throw new DemoException();
24         } catch (DemoException e)
25         {
26             e.printStackTrace();
27         }
28     }
29     
30     public void js()
31     {
32         try
33         {
34             int a=10;
35             int b=100;
36             String s=null;
37             System.out.println("while开始");
38             while(b>-1)
39             {
40                 System.out.println(s.length());
41                 a--;
42                 b=b/a;
43                 
44             }
45         }
46         catch (NullPointerException e)
47         {
48             e.printStackTrace();
49             System.out.println("空指针异常!");
50         }
51         catch (ArithmeticException e)
52         {
53             e.printStackTrace();
54             System.out.println("计算异常!");
55         } 
56         catch (Exception e)
57         {
58             e.printStackTrace();
59             System.out.println("未知异常!");
60         }
61         finally 
62         {
63             
64         }
65         System.out.println("while结束!");
66     }
67     
68 }

 

以上是关于异常及异常处理的主要内容,如果未能解决你的问题,请参考以下文章

使用片段中的处理程序时出现非法状态异常

异常及异常的处理机制

python-异常处理及异常处理的两种方式对比

第24章 SEH结构化异常处理—异常处理及软件异常

异常的捕获及处理

PCL异常处理:pcl 1.8.13rdpartyoostincludeoost-1_64oost ypeofmsvc ypeof_impl.hpp(125): error(代码片段