自定义异常类

class Yichangtext extends Exception {


	public Yichangtext(String miss) {
		// this.miss = miss;
		// super(miss);
	}

	public void oneway() {
		System.out.println("邮箱中必须要有@ 你是猪吗?这都不知道(╯°O°)╯┻━┻");

	}
	
}

public class Yichang {
	
	static void method1(String mis) throws Yichangtext {
		if (mis.equals("@"))
			System.out.println("请输入下一行邮箱密码");
		else {
			throw new Yichangtext("随便");// 抛出异常,由其他方法处理。
			// 先在方法后面写上 throws 自定义异常类,
			// 在逻辑认为错误的地方去throw new 自定义异常类,将消息传出去,
		}
	}

	public static void main(String[] args) {
		try {// 谁调用就由调用者使用try、catch,在catch中打印消息或处理异常
			method1("d");
		} catch (Yichangtext a) {
			a.oneway();
			
		}

	}
}
class Yichangtext extends Exception {
	// String miss;

	public Yichangtext(String miss) {
		// 1,this.miss = miss;
		 //2,super(miss);
	}

	
	  public String tiString() { return "hanzi"; }
	 
}

public class Yichang {

	static void method(int c) {
		int[] aee = new int[9];
		if (c == aee.length)
			System.out.println("请执行后面的操作");
		else {
			try {
				throw new Yichangtext("密码长度不够9位");
			} catch (Yichangtext s) {

				System.out.println(s); // return;

			}
		}
	}

	
	public static void main(String[] args) {
		
		method(6);
	}

}

若是使用1,this miss=miss,需要加上 //String miss;  public String tiString() { return "hanzi"}; 也不可少。输出结果 hanzi。

,除去1,若未使用2,super(miss);在没用使用public String tiString() { return "hanzi"};方法时,输出结果 java08.Yichangtext 。若使用,java08.Yichangtext: 密码长度不够9位 。若1, 2,都不用,使用方法体System.out.println(s.tiString()); 输出结果 hanzi


import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;

/**
 * 异常: 分类:1.运行时异常 2.非运行异常 两种处理方式: 1.使用try、catch来处理
 * 2.自己不处理,抛出异常,谁调用谁处理,如果层层调用者都不处理,程序就会中断执行
 * try块中放可能会出现错误的代码,一旦出错就会执行catch块中的代码。程序并不会终止,出错会寻找catch中有没有对应的处理异常的对象,找到就
 * 执行块中的代码,找不到就让父类Exception来处理 用try、catch处理异常时,多个catch中的异常类参数只能从小到大,或者平级
 * finally块: 1.不管try是否出错都会执行finally的代码,一般做收尾的工作 2. 释放对象、释放连接、关闭资源
 * 3.try中return,会先执行finally,再执行return,如果在执行finally块之前结束了程序,finally就执行不了
 * 
 * 
 * 
 * @author hp
 *
 */
public class MyException{

	/**
	 * 
	 */
	static void method(int i) throws Exception {
		int rs;

		rs = 8 / i;

		System.out.println("----------------");

	}

	static void method2(int i) {
		int rs;
		try {
			rs = 8 / i;
			// System.exit(0);
			return;
		} catch (NullPointerException e) {
			e.printStackTrace();
		} catch (ArithmeticException e) {
			e.printStackTrace();
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			// 不管try是否出错都会执行finally的代码,一般做收尾的工作
			// 释放对象、释放连接、关闭资源 try中return,会先执行finally,再执行return
			// 如果在执行finally块之前结束了程序,finally就执行不了
			System.out.println("-------finally---------");
			
//			try {
//				//rs.close();
//			}catch(Exception e) {
//				//System.exit(0);
//			}finally {
//				
//			}
			
			
		}

	}

	public static void main(String[] args) throws Exception {
		method(1);

	}
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值