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("输出的内容是:\n"+ fh.readFile());
fh.addLine("今天天气不错!");
fh.addLine("心情也不错!");
System.out.println("文件内容是:"+ fh.readFile());
fh.delete(); //删除文件
}
catch(IOException e)
{
System.out.println("创建文件出错!");
}
}
}