博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【133天】尚学堂高淇Java300集视频精华笔记(71-72)
阅读量:6567 次
发布时间:2019-06-24

本文共 1866 字,大约阅读时间需要 6 分钟。

第71集:常用类/file类/打印目录树状结构/递归算法

课堂代码

package com.test071;import java.io.File;public class Test071 {    public static void main(String[] args){        /**         * 1. File文件类的常见构造器,常见方法使用         * 2. 递归:         *         概念:在java代码中出现自己调用自己的情况,可称之为递归         *         组成:递归体、递归头(用来做判断)         *         注意:若无递归头,递归将会是死循环。         *          */        File f = new File("/Users/wangtao/Desktop/AAA");        printFile(f,0);            }    static void printFile(File file, int level){        for(int i = 0;i < level;i++){//是第几级目录,就打印几个“-”            System.out.print("-");        }        System.out.println(file.getName());        if(file.isDirectory()){            File[] files = file.listFiles();            for(File temp:files){                printFile(temp,level+1);            }        }            }}

第72集:异常机制ExceptionThrowableError的概念

导引问题

实际工作中,遇到的情况不可能是非常完美的。比如:你写的某个模块,用户输入不一定符合你的要求、你的程序要打开某个文件,这个文件可能不存在或者文件格式不对,你要读取数据库的数据,数据可能是空的等。我们的程序再跑着,内存或硬盘可能满了。等等。软件程序在运行过程中,非常可能遇到刚刚提到的这些异常问题,我们叫异常,英文是:Exception,意思是例外。这些,例外情况,或者叫异常,怎么让我们写的程序做出合理的处理。而不至于程序崩溃。

常见的错误:

  1. 用户输入错误

  2. 设备错误

  3. 硬件问题,比如打印机关掉、服务器问题

  4. 物理限制,磁盘满了。

  5. 代码限制,数组下标越界等

设计良好的程序应该在异常发生时提供处理这些错误的方法,使得程序不会因为异常的发生而终断或产生不可预见的结果。 

异常处理机制的价值 

如果没有异常处理机制,那么:

//将d:/a.txt复制到e:/a.txt if("d:/a.txt"这个文件存在){if(e盘的空间大于a.txt文件长度){if(文件复制一半IO流断掉){停止copy,输出:IO流出问题!}else{copyFile("d:/a.txt","e:/a.txt");}}else{输出:e盘空间不够存放a.txt!}}else{输出:a.txt不存在!}

两个坏处:

  1. 逻辑代码和错误处理代码放一起!

  2. 程序员本身需要考虑的例外情况较复杂,对程序员本身要求较高!

异常(Exception)的概念

异常机制就是当程序出现错误,程序如何安全退出的机制。

JAVA如何处理异常?

第一个异常示例和解析:

public static void main(String[] args) {        int i = 1/0;        gggggg}Exception in thread "main" java.lang.ArithmeticException: / by zeroat chuji.BubbleSort.main(BubbleSort.java:11)

Java异常处理过程

JAVA是采用面向对象的方式来处理异常的。处理过程:

  1. 抛出异常:在执行一个方法时,如果发生异常,则这个方法生成代表该异常的一个对象,停止当前执行路径,并把异常对象提交给JRE。

  2. 捕获异常:JRE得到该异常后,寻找相应的代码来处理该异常。JRE在方法的调用栈中查找,从生成异常的方法开始回溯,直到找到相应的异常处理代码为止。

转载地址:http://idvjo.baihongyu.com/

你可能感兴趣的文章
C++之匿名对象与析构函数的关系
查看>>
input子系统分析之三:驱动模块
查看>>
jquery 选择时间(小时)区间(四)
查看>>
jquery 选择时间(小时)区间(二)
查看>>
WebService的编写与调用
查看>>
(模板)字符串哈希
查看>>
input:focus
查看>>
java中String,int,Integer,char、double类型转换
查看>>
Hdoj 2544
查看>>
nginx转发端口路由器再转发
查看>>
Python自动化运维之5、内置函数
查看>>
4-15 OS(线程,用户态,内核态,页) 数据库(原子性,日志) JAVA(I/O)
查看>>
7.Deque的应用案例-回文检查
查看>>
ionic3中使用自定义配置
查看>>
嵌入式驱动开发之2440/2410---硬件看门狗,喂狗
查看>>
汇编实验3
查看>>
在 Wiki 标记中添加无序列表
查看>>
Yii2 独立操作
查看>>
lua 操作数据库
查看>>
js 日历控件。
查看>>