import java.io.*; import text.MyException; public class Yichang { public static void main(String[] args) { //捕获异常 //抛出异常 throw 写在方法体里面 throws 写在方法名字的后面 表示将方法里的异常抛出,抛给它的调用者 try { int r = 3 / 1; System.out.println("结果 = " + r); Exception ex = new Exception("我的异常信息"); throw ex; // System.out.println("结果 = " + r);//一旦抛出异常,就会停止本段程序,向下运行 } catch(Exception e) { //处理 //1、记录日志,文件、数据库 将错误的信息保存 //2、输出友好的信息提示 //3、执行的特别代码 将可预料的错误的代码跳过,执行其他的代码,不会使客户感到问题 System.out.println(" "+e.getMessage()); //Exception java 里面表示异常的类,是所有异常的父类 // e.getMessage(); //获取其异常信息,将这个信息存放于日志与数据库中,便于查看 // e.printStackTrace();//向控制台输出错误信息,将错误信息输出到控制台 // throw e; //抛出异常 } finally //一定会执行的 无论程序是否异常都会执行 { System.out.println("谢谢使用"); // System.exit(0);//中断整个程序 } //异常类的抛出 //自定义异常类,要继承于Exception,这个父类 try { int in = 0; if(in == 0) { Exception ex = new Exception("我的错误信息"); throw ex; } int r = 3 / 1; System.out.println("结果 = " + r); MyException me = new MyException("我自定义的异常类"); throw me; } catch(IOException e)//子类要放到父类的前方,避免父类将全部代码捕获完毕,导致后方代码无用 { //针对性的处理方法 } catch(Exception e)//可以捕获多个异常 { System.out.println(" "+e.getMessage()); } //空指针异常 对象没有实例化 } }
package text; public class MyException extends Exception { public MyException(String mess) { super(mess); } }
package text; import java.io.IOException; public class t20151019 { public static void main(String[] args) { // TODO Auto-generated method stub file fh = new file("d:/filehelper.txt"); try { fh.create(); fh.edit("大家好"); System.out.println("输出的内容是: "+ fh.readFile()); fh.addLine("今天天气不错!"); fh.addLine("心情也不错!"); System.out.println("文件内容是:"+ fh.readFile()); fh.delete(); //删除文件 } catch(IOException e) { System.out.println("创建文件出错!"); } } }