异常处理&RandomAccessFile&节奏感

异常处理

异常处理方面的知识,下面是学习中记的笔记:

try尝试捕获异常

catch对捕获的异常进行处理

多个catch要注意的问题:

一、顺序问题,先小后大,也就是先子类后父类。因为当异常出现的时候异常处理系统会就近寻找匹配的异常处理程序,而子类继承父类,针对与父类的异常处理程序对于子类也是适用的。如果顺序写错编译器在编译的时候也是不会通过的,会直接报错。

finally最终执行的代码

Java中的异常抛出

throw 将产生的异常抛出(动作),写在方法里面

throws声明将要抛出何种类型的异常(声明)

public void 方法名(参数列表) throws 异常列表{

//调用会抛出异常的方法或者:throw new Exception();

}

调用throws声明的方法需要对抛出的异常进行处理,如果不进行处理则应该将异常继续向上抛出。例如

 1 package Zhang;
 2
 3 public class ExceptionTest {
 4
 5      public void divie(int one,int two) throws Exception{
 6
 7           if(two==0){
 8
 9                throw new Exception("两个数相除,除数不能为0");
10
11           }else{
12
13                System.out.println("两数相除的结果为:"+(one/two));
14
15           }
16
17      }
18
19      public static void main(String[] args) throws Exception{
20
21           new ExceptionTest().divie(6,0);
22
23      }
24
25 }

输出:Exception in thread "main" java.lang.Exception: 两个数相除,除数不能为0

at Zhang.ExceptionTest.divie(ExceptionTest.java:6)

at Zhang.ExceptionTest.main(ExceptionTest.java:13)

以上主函数并没有对可能的异常进行处理,而是继续将异常向上抛出。如果主函数需要对异常进行处理则应该按一下的进行处理

 1 public static void main(String[] args){
 2
 3           try{
 4
 5                new ExceptionTest().divie(6,0);
 6
 7           }
 8
 9           catch(Exception e){
10
11 12
13                System.out.println(e.getMessage());
14
15           }
16
17      }

输出:两个数相除,除数不能为0

RandomAccessFile

异常的处理先到此告一个段落,明天继续学习文件操作方面的知识。通过慕课网上下载的视频。今天突然很想学习网络方面的知识,还是抓紧时间把计划的东西学完。

明天要学习Java中的RandomAccessFile类的使用,他是Java提供的对文件内容的访问,既可以读文件,也可以写文件,支持随机访问文件,可以访问文件的任意位置。

Java的文件模型:在硬盘上的文件是byte存储的,是数据的集合

打开文件的两种模式:“rw”(读写) “r”(只读)

RandomAccessFile raf=new RandomAccessFile(file,”rw”);

因为是随机访问,所以他的内部还包含了文件指针,打开文件时指针在开头pointer=0;

写方法:raf.write(int)    只写一个字节(后8位),同时指针指向下一个位置,准备再次写入。

读方法:int b=raf.read()    读一个字节

文件读写完成以后一定要关闭(Oracle官方说明)否则会产生意想不到的错误。

以上是提前对明天要学习的内容做的预习,具体的编码要明天的自由时间来完成。

一些想法:节奏

写 到这里的心里感觉总想放松,但又不知道做些什么来放松,同时也觉的时间的珍贵。写到这里我又想到我当下一个很现实的理想:我想有一个安静的小屋,时间是晚 上,我的精力比较充沛,一盏灯,一个流畅电脑,一个好用的操作系统,适手的键盘。还有恰到好处的座椅,常用的书籍摆在面前,网速又是相当的好,旁边还有一 个小床,天气不冷也不热。我就坐在椅子上安静的学习,不用为任何事担心,安安心心的深入思考每一个知识点,认真的做自己喜欢的事。现在卧在床上对着电脑打 字很不舒服,也很容易带来疲惫感,觉得有些孤单,又不想被任何事任何人打断,在我打算思考的时候。此刻想起在我刚开始为自己的每天写一些思考总结的时候第 一个问题是时间问题,时间不管怎样,现在通过每天的总结都能慢慢的积累到东西。现在我看到浮现出来的第二个问题,这是在学习中遇到的,那就是如何面对一个复杂庞大的知识体系。不说快速掌握,那会带来浮躁的心里,导致欲速则不达的结果出现。现在最想在这些复杂庞大的知识面前做出有节奏感的学习。就像沉醉在节奏感十足的曲子之中一样。这个问题值得近期解决。

2016-10-09

时间: 2024-10-24 05:54:33

异常处理&RandomAccessFile&节奏感的相关文章

java的IO操作之--RandomAccessFile

目标: 1)掌握RandomAccessFile类的作用. 2)用RandomAccessFile读取指定位置的数据. 具体内容 RandomAccessFile类的主要功能是完成随机读取功能,可以读取指定范围的内容. 假设文件中存储了以下三个数据: 因为文件中所有内容都是按照字节存储的,都有固定的保存位置. 构造方法: public RandomAccessFile(File file,String mode) throws FileNotFoundException 实例化此类需要传递Fil

系统学习 Java IO (三)----FileInputStream/FileOutputStream & RandomAccessFile

目录:系统学习 Java IO---- 目录,概览 FileInputStream 这是一个简单的FileInputStream示例: InputStream input = new FileInputStream("D:\\input.txt"); int data = input.read(); while(data != -1) { //do something with data... doSomethingWithData(data); data = input.read()

java程序中的经常出现的的异常处理课后总结

一.JDK中常见的异常情况 1.常见异常总结图 2.java中异常分类 Throwable类有两个直接子类: (1)Exception:出现的问题是可以被捕获的 (2)Error:系统错误,通常由JVM处理 3.被捕获的异常分类 (1)Check异常: 派生自Exception的异常类,必须被捕获或再次声明抛出 (2)Runtime异常:派生自RuntimeException的异常类.使用throw语句可以随时抛出这种异常对象 throw new ArithmeticException(…);

JAVA项目常用的异常处理情况总结

周一老师讲解了JAVA中的异常处理机制,我们在进行JAVA项目开发时,经常会面对一些常见的异常处理情况,接下来我会根据课下查阅学习的资料,来进行一些总结. 参考资料:https://www.cnblogs.com/Aming-/p/11772796.html 1.空指针异常(java.lang.nullpointerexception) 发生该情况一般是字符串变量未初始化,数组未初始化,类对象未初始化等.还有一种情况是当该对象为空时你并没有判断是否为空值,这个错误我在之前的web习题上犯过,因此

JAVA项目中的常用的异常处理情况1

Java项目中常用的异常处理情况 1.java.lang.NullPointerException(空指针异常) 调用了未经初始化的对象或者是不存在的对象.经常出现在创建图片,调用数组这些操作中,比如图片未经初始化,或者图片创建时的路径错误等等.对数组操作中出现空指针, 即把数组的初始化和数组元素的初始化混淆起来了.数组的初始化是对数组分配需要的空间,而初始化后的数组,其中的元素并没有实例化, 依然是空的,所以还需要对每个元素都进行初始化(如果要调用的话). 2. java.lang.Class

Laravel 5.4 中的异常处理器和HTTP异常处理实例教程

错误和异常是处理程序开发中不可回避的议题,在本地开发中我们往往希望能捕获程序抛出的异常并将其显示打印出来,以便直观的知道程序在哪里出了问题并予以解决,而在线上环境我们不希望将程序错误或异常显示在浏览器中(出于安全考虑),这个时候我们仍然要捕获异常,只不过不是显示到浏览器中,而是记录到日志中,方便日后排查问题. 百牛信息技术bainiu.ltd整理发布于博客园 Laravel当然支持PHP原生的错误和异常处理,但是在此基础上进行了一些封装处理,从而更方便在不同开发环境切换以及对错误和异常的处理.

跟着百度学PHP[11]-PHP当中的异常处理

首先要说一下常见的三种错误: 1.语法错误 2.运行错误 3.逻辑错误 00x1 错误报告及错误级别 PHP的错误分为三个等级 1.注意(notice)   没有变量a 2.警告(warning) 没有给函数传值 3.致命的错误(fatal error) 函数写错 错误的报告级别可以在PHP.ini当中修改.在PHP.ini当中找到错误报告“error_reporting = E_ALL ” 这个的意思是将所有的错误都提示出来.ps:~是除了的意思.&是和的意思.error_reporting

JAVASE02-Unit08: 文本数据IO操作 、 异常处理

Unit08: 文本数据IO操作 . 异常处理 * java.io.ObjectOutputStream * 对象输出流,作用是进行对象序列化 package day08; import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectOutputStream; import java.util.ArrayList; import java.util.List; /** * java.io.Ob

python3_装饰器_异常处理

装饰器: def auth(func):     def wrapper(name):                     如果函数带参数,要加在这里         user=raw_input("input passwd:").strip()         if user=='test':             print "welcome login"             func(name)              如果函数带参数,要加在这里