Java 异常 总结 try catch finally Exception
生活随笔
收集整理的这篇文章主要介绍了
Java 异常 总结 try catch finally Exception
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
异常
定义
表示程序在运行过程中出现的非正常情况,编写代码的过程中尽可能少的减少异常出现的情况
分类
- Throwable
- Error 代码级别无法解决的异常情况
- Exception
- 运行时异常:在程序运行过程中,由于输入的参数值的不同,可能会发生也可能不会发生
- checked异常 :编译时异常,在ide中会显示的检查出来
异常的处理
捕获异常1、
try{可能出现异常的语句 }catch(可能出现的异常){捕捉异常后执行的语句 } // try{int x = 1 /0; }catch(ArithmeticException e){e.printStack(); }捕获异常2、
try{可能发生异常的代码 }catch(发生的异常){捕捉异常后执行的语句 }finally{不管是否发生异常都要执行的语句 }// try{int x = 1 /0; }catch(ArithmeticException e){e.printStack(); }finally{System.out.println("finally") }注意
当发生异常时,在try代码块中异常语句后面的语句不会再执行
try、catch、finally以及try…catch…finally之外的代码是互相独立的,在try中定义的变量在其他的部分无法访问,改变了仅作用于try部分,其他catch、finally情况类似,但是外部定义的变量在try、catch、finally中可以使用
在进行异常捕获的时候,return语句的不同位置会造成结果的不同
首先讨论try…catch…finally后面有代码的情况
2.try…catch…finally后面没有代码的情况
//第一种情况 try{System.out.println("1");System.out.println(1 / 0);return;}catch (Exception e){System.out.println("2"); // return;}finally {System.out.println("3"); // return;} // 此时return语句永远不会执行 // 第二种情况,此时return语句有没有都没有关系 try{System.out.println("1"); // System.out.println(1 / 0);return;}catch (Exception e){System.out.println("2"); // return;}finally {System.out.println("3"); // return;} //第三种情况 try{System.out.println("1");System.out.println(1 / 0); // return;}catch (Exception e){System.out.println("2");return;}finally {System.out.println("3"); // return;} //此时,还是跟前面一样的,return先挂起,执行完finally中的代码后再结束程序 //第三种情况 public class Demo {public static void main(String[] args) {System.out.println(method());}public static int method(){try{System.out.println("1");System.out.println(1 / 0); // return;}catch (Exception e){System.out.println("2");return 1;}finally {System.out.println("3"); // return 2;} // System.out.println("4");return 0;} } // 此时会执行最近的return语句综上:
抛出异常
throws
将异常情况抛出给调用者
注意,如果整个程序的运行过程中都没有异常的处理的话,最终异常会抛给jvm,不太友好,一般都要对异常进行处理
import java.io.FileInputStream; import java.io.FileNotFoundException;public class Demo1 {public static void main(String[] args) throws FileNotFoundException {FileInputStream fileInputStream = new FileInputStream("test.txt");} }自定义异常
java中提供了非常多的异常类,但是在某些项目中需要自己定义独特的异常处理方式,此时需要自定义异常
另外,还可以自定义异常信息
public class Demo1 {public static void main(String[] args) throws Exception {throw new Exception("test");} }希望对大家有所帮助。
总结
以上是生活随笔为你收集整理的Java 异常 总结 try catch finally Exception的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 常见Java面试题 线程和进程的区别?
- 下一篇: 常用Java面试题 List集合