异常Exception
来源:互联网 发布:凯立德优化内存 编辑:程序博客网 时间:2024/06/05 23:00
Throwable
包含error 和Exception
Exception又分CheckedException异常和UncheckedException,
UncheckedException就是RuntimeException,可以避免的异常
CheckedException必须捕获
包含error 和Exception
Exception又分CheckedException异常和UncheckedException,
UncheckedException就是RuntimeException,可以避免的异常
CheckedException必须捕获
error 表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。不可能指望程序能处理这样的情况。
exception表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生的情况。
运行时异常比如数组脚本越界(ArrayIndexOutOfBoundsException),空指针异常(NullPointerException)、类转换异常( ClassCastException);
普通异常是运行环境的变化或异常所导致的问题,是用户能够克服的问题,例如,网络断线,硬盘空间不够,发生这样的异常后,程序不应该死掉。
- 自己抛异常
<span style="font-family:Microsoft YaHei;font-size:14px;">public static void demo1() { int a = 6; int b = 0; try { // try监控区域 if (b == 0) throw new ArithmeticException(); // 通过throw语句抛出异常 System. out.println( "a/b的值是:" + a / b); } catch (ArithmeticException e) { // catch捕捉异常 System. out.println( "程序出现异常,变量b不能为0。" ); } System. out.println( "程序正常结束。" ); }</span>
- 自动抛异常
<span style="font-family:Microsoft YaHei;font-size:14px;">public static void demo2 () { int a = 6; int b = 0; try { System. out.println( "a/b的值是:" + a / b); } catch (ArithmeticException e) { System. out.println( "程序出现异常,变量b不能为0。" ); } System. out.println( "程序正常结束。" ); }</span>
一旦某个catch捕获到匹配的异常类型,将进入异常处理代码。一经处理结束,就意味着整个try-catch语句结束。其他的catch子句不再有匹配和捕获异常类型的机会
- 自定义异常
<span style="font-family:Microsoft YaHei;font-size:14px;">public class MyException extends Exception { public MyException() { super(); } public MyException(String msg) { super( msg); }}//调用public static void execute(String a) throws MyException { System. out.println( "execute..."); if ( "true".equals(a)) { throw new MyException( "参数不能为 true" ); } } public static void main(String[] args) throws MyException { execute("true"); }</span>
- 抛异常 给上一层
<span style="font-family:Microsoft YaHei;font-size:14px;">public static void readFile(String file) throws FileNotFoundException { try { BufferedInputStream in = new BufferedInputStream( new FileInputStream(file)); } catch (FileNotFoundException e) { e.printStackTrace(); System. err.println( "不知道如何处理该异常或者根本不想处理它,但是不做处理又不合适,这是重新抛出异常交给上一级处理" ); // 重新抛出异常 throw e; } } public static void printFile(String file) { try { readFile(file); } catch (FileNotFoundException e) { e.printStackTrace(); } } public static void main(String[] args) throws MyException {// execute("true"); printFile("D:/file"); }</span>
- printStackTrace()、toString()、getMessage()
0 0
- 异常(exception)
- 异常:Exception
- Exception 异常
- 异常Exception
- 异常--Exception
- 异常(exception)
- 异常Exception
- 异常 Exception
- exception异常
- Exception异常
- Exception 异常
- 异常Exception
- Exception 异常
- Java 异常(Exception)&自定义异常
- Java 异常(Exception)&自定义异常
- 异常类exception classes
- C++ 异常 exception (1)
- C++中的异常(exception)
- js call
- 查看LOV中查询语句
- 飞思卡尔IMX6处理器的GPIO配置方式
- nodejs实现图片上传
- Android开源项目大全 - 工具类
- 异常Exception
- 使用Freemarker格式化字符串
- javascript this关键字
- 505B. Mr. Kitayuta's Colorful Graph(拆分图+并查集)
- ubuntu 离线安装源制作
- git常用命令总结
- BZOJ 3771 Triple 母函数+FFT
- java Semaphore
- session过期时间