异常处理
来源:互联网 发布:程序员刚入职很痛苦 编辑:程序博客网 时间:2024/04/28 02:25
一、概念:
Throwable------------->异常体系中的超类(父类)
1、异常:(Exception)程序出现问题,程序员所不能控制的。
常见几种异常有:
(1)NullPointerException
(2)ArrayIndexOutOfBoundsException
(3)ArithmeticException (算数异常)
(4)ClassCastException (类型转换异常)
(5)IllegalArgumentException (非法越界异常)
(6)FillNotFoundException
异常分为两大类
一、运行时异常 RutntimeException
二、编译时异常 (程序在编译过程中必须强制检测的异常)
package huaxin;import javax.swing.JFrame;public class ExceptionTest {public static void main(String[] args){int[] array = new int[10];System.out.println(array[10]);System.out.println(11/0);Object obj = new String("aaa");int i = (int)obj;new JFrame().setDefaultCloseOperation(100);}}
.........
错误:(Error)程序出现严重的问题,程序员设计不当导致的
常见的几种错误有:
(1)StackOverflowError
(2)OutOfmeMoryError
异常的处理
1、throws 异常
(1)写在方法的小括号后面;
(2)每次抛出的异常都有比前一次抛出异常的范围要> =;
2、try catch
//try catch 为两个单独的区域try{//试着执行try块中的代码,如果出现异常,进入catch块中FileOutputStream fos = new FileOutputStream("z://first.txt");//后续代码(出现异常则不会执行)}catch(FileNotFoundException e){//打印异常栈中的信息(方便程序员阅读)e.printStackTrace();//出现这个异常时,具体的解决办法System.out.println("在我的电脑上找不到此路径");}finally{//最终(不管try catch 的执行与否,最终都会进入finally块)//执行关闭资源(流或数据库连接)的操作System.out.println("-----------finally--------");}}public void study(){study();}
Java程序处理异常的格式如下:
try{
//可能出现异常的代码部分
}catch(异常类型异常变量){
//执行异常操作
}catch(异常类型异常变量){
//执行异常操作
}…
finally{
//处理完try与catch操作后的收尾操作,异常统一出口
}
异常处理机制:
1.catch定义,由上到下,异常范围必须由小到大或者同级别的
2.运行时异常,catch中可以随意定义类型,程序运行时,会根据catch参数自动匹配。
3.非运行时异常,则catch中定义的异常,在try代码块中必须存在,如果没有类似异常存在,则不允许被定义。
throw 和throws关键字
运行时异常,在程序中捕捉并throw后,方法中不一定要声明throws,而非运行时异常,在代码快中throw后,必须在方法中声明throws抛出异常
- 异常处理+异常+处理异常+自定义异常
- 异常处理
- 异常处理
- 异常处理
- 异常处理
- 异常处理
- 异常处理
- 异常处理
- 异常处理
- 异常处理
- 异常处理
- 异常处理
- 异常处理
- 异常处理
- 异常处理
- 异常处理
- 异常处理
- 异常处理
- 10.14 python笔记
- android开发自定义动态Button
- Java 线程池详细介绍
- TesterHome android app 编写历程(五)
- [PAT (Advanced Level) ]1009. Product of Polynomials 解题文档
- 异常处理
- 我该怎么去学习
- Linux远程连接Windows10出现"连接被对端重置"错误 解决方法
- iOS9 http 网络请求
- ExpandableListView
- Java中的转义字符
- android开发基础之---------------自定义控件的使用
- 使用<code>标签
- OpenGL三维镂垫