Java基础学习——异常处理

来源:互联网 发布:编写java游戏小程序 编辑:程序博客网 时间:2024/05/18 18:45

Java异常处理

程序的错误可分为三类:编译错误、逻辑错误和运行时错误。

1)编译错误是由于没有遵循Java语言的语法规则而产生的,这种错误要在编译阶段排除,否则程序不能运行。

2)逻辑错误是指程序编译正常,也能运行,但结果不是人们所期待的。

3)运行错误是指程序运行过程中出现的不可执行的操作,有时也可以由逻辑错误引起。


异常处理的主要目的是即使在程序运行时发生了错误,也要保证程序能正常结束,避免由于错误而使正在运行的程序中途停止。

异常是程序执行期间发生的各种意外或错误。比如:

<1>用户输入错误

<2>所需文件找不到

<3>运行时磁盘空间不够

<4>内存不够

<5>算术运算错(数的溢出,被零除等)

<6>数组下标越界


在Java程序运行过程,产生的异常通常有三种类型;

1)Java虚拟机由于某些内部错误Error产生的异常,这类异常不在用户程序的控制之内,也不需要用户处理这类异常;

2)标准异常类,由Java系统预先定义好的。这类异常是由程序代码中的错误而产生的。如;以零为除数的除法,访问数组下标范围以外的数组元素,访问空对象内的信息,这是要用户程序处理的异常。

3)根据需要在用户程序中自定义的一些异常类。




异常的处理机制

1)异常的抛出(throw)

抛出异常有两种方式:由系统自动抛出和利用抛出语句抛出。

<1>系统自动抛出异常:在程序运行过程中,如果出现了可被Java运行系统识别的错误,系统会自动产生与该错误相对应的异常类的对象,即自动抛出。

<2>人为异常抛出

①在方法头写出需要抛出的异常(利用throws语句)


②在方法体内抛出的异常(利用throw语句)



捕捉异常

try-catch语句块格式

try{

  //在此区域内或能发生异常

}catch(//异常类1  e1){

//处理异常1

}catch(//异常类n en){

//处理异常n

}

finally{

//不论异常是否发生,都要执行的部分

}


用户自定义的异常类

用户根据需要定义自己的异常类,即创建自定义异常类。

1)用户自定义的异常类必须是Throwable类或Exception类的子类。

2)自定义的异常类,一般只要声明两个构造方法,一个是不用参数的,另一个以字符串为参数。作为构造方法参数的字符串应当反应异常的信息。

3)自定义异常类格式

class MyException extends Exception{

}

注:用户定义的异常同样要用try-catch捕获,但必须由用户自己抛出throw new MyException()。



0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 汽车保险标志丢了怎么办 车辆年检贴丢失怎么办 车检标贴丢了怎么办 检验标贴丢了怎么办 小车换年检标志怎么办 职称证忘记审验怎么办 联合年报没报怎么办 职称年审过期了怎么办 嘉兴驾模预约怎么办 电大考试去不了怎么办 负债高怎么办房贷 宁波鄞州银行卡怎么办 硕士学位实验数据不好怎么办 小区外过车很吵怎么办 建筑物初级消防证书怎么办 毕业答辩去不了怎么办 卡波西水痘样疹怎么办 58企业认证失败怎么办 炸鸡店没生意怎么办 你好漂亮重名了怎么办 医保卡被冒用怎么办 理财钱被骗走怎么办 个体户怎么办三方协议 社保户籍错了怎么办 身份证号码变更后驾驶证怎么办 公司倒闭欠工资怎么办 海南买房要社保怎么办? 工商核名不过怎么办 税局要求查账怎么办 完税凭证丢了怎么办 开票开错了怎么办 上海居住证搬家了怎么办 上海无户口 医保怎么办 淘宝账号注销不了怎么办 淘宝账号被覆盖怎么办 淘宝号注册不了怎么办 appleid密码忘了怎么办 蘑菇街用白富美后忘记账号怎么办 不知道宽带账号怎么办 上网用户名忘了怎么办 别人借淘宝号怎么办