异常与文件
来源:互联网 发布:linux grep指令 编辑:程序博客网 时间:2024/05/29 12:40
异常与文件
一、异常
a) 异常指的是在程序运行过程中发生的异常事件,通常是有硬件问题或者程序设计问题所导致的。在Java等面向对象的编程语言中异常属于对象
b) 在程序当中:本应该正常执行的代码,由于逻辑错误或者相关的语法错误导致的无法执行正常的结果;程序在运行过程中发生由于硬件设备的问题,软件设计错误等导致程序异常事件(在Java等面向对象的编程语言中)异常本身是一个对象,产生异常就是产生了一个异常对象。
c) Java异常处理是面向对象处理方式
i. 一旦代码出现异常问题,JVM底层则会创建一个异常类相关的对象
ii. 异常对象产生后,会根据代码对异常的处理机制进行操作,其中异常处理机制包括捕获异常和抛出异常两种,如果没有异常操作,则java程序会中断执行(相当于程序瘫痪,不再执行下去,不能得到一个想要的结果)
d) 异常体系结构:
异常的父类:Throwable->Exception、Error
异常分类:①:检测异常:就是在程序编译的时候就检测出来的异常(受检异常、非运行时异常):IOException。。。
②:非检测异常:这是在程序变异的时候检测不出来,但是在运行时就检测出异常(非受检异常、运行时异常):NullPointException。。。
e) 如何对异常进行处理:
1)捕获异常:try{}catc(){}h方式:ArithmeticException数学运算异常
a) 异常进行捕获处理之后,原程序不会中断,但是在try{}异常语句后的语句会中断执行
b) 异常捕获是可以多层捕获的(支持多个catch语句)
c) 捕获异常最好是要精确
d) 如果说无法确定异常类型,则可以直接捕获Exception异常来处理,但是必须要注意一下问题,看e
e) Catch语句从上到下捕获多个异常,必须从小到大定义或者同级别
f) Catch中如果捕获了检测性异常,则try必须要有这种异常抛出的代码,不然程序变异会进行报错
g)
2)finally:最终-异常捕获的统一出口,就是如果定义了finally语句,程序一定要继续执行下去然后从finally语句中出来,再执行finally后面的语句。
a) finally的语句块一旦定义了,就一定要执行,要么你就不定义
b) try、catch、finally必须要至少两个存在,而且try必须要有(这里的意思就是有三个组合,①:try,catch②:try,finally③:try,catch,finally)
c) 问题:如何让已经定了finally代码块的的代码不执行?
d) return语句:finally之前执行(在这里return语句结束此层方法的功能在这里不适用了,就算try语句中有return语句,但是finally语句还是会继续执行)
e)
3)throws:把异常问题抛出
a) 抛出给上一级调用此方法的代码,任凭调用此方法的代码处理(此上一级的代码有两种处理方法:①:继续抛到此上一级方法的上一级调用此方法的代码,然后任凭此方法的代码处理②:或者此上一级方法进行捕获处理)
b) 抛出问题后,此方法会瘫痪不再继续进行执行,但是原程序会继续执行
4) throw:指在catch中抛出指定异常
5)
二、文件操作
a) File类:关联计算机中的文件和目录(文件夹)
b) API:读取文件的文件信息(不包括文件的数据):文件大小、类型、文件名、路径...
1) createNewFile:创建一个新的文件,但是一定要注意,文件可以不存在,路径一定要存在(否则程序出错)
2) mkdir:创建一个新的文件夹,mkdirs:创建多层文件夹
3) //创建一个文件或文件夹:createNewFile\mkdir
4) //删除一个文件:delete
- 文件读取与异常
- 异常与文件
- 异常与文件
- 异常与文件
- 异常与文件
- python文件与异常
- 文件读取与异常处理
- 【Python 2】文件与异常
- java--异常与文件处理
- 《Head_First_Python》 3文件与异常
- python的文件操作与异常处理
- Head First Python(文件与异常)
- 上机实验 文件读取与异常处理
- 014 Python语法之文件与异常
- 【python初识】文件存储与异常
- 异常、文件
- 异常与异常处理
- 异常与异常处理
- tomcat7 jdk1.7 eclipse
- PLC编程软件在线调试程序的方法
- 关于移动端本地代码调试(基于android和chrome)
- 编程之战第一章 你好世界
- MySQL状态
- 异常与文件
- JDBC
- 用hibernate有时不能删除子表的数据
- 让sublime可以和visual studio一样自动在运算符前后添加空格的插件
- jqgrid 重新加载数据.
- 服务器性能分析工具
- charge-station HDU
- Golang教程目录
- 172. Factorial Trailing Zeroes