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);
}
}