面向对象(异常处理)

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

啥也不多说,直接上代码
public class ExceptionTest01 {
public void runtimeExceptionNotUseTryCatch(){
String str = null;
m1(str);
System.out.println(“over”);

}

private void m1(String str) {
if(str==null){
System.out.println(“空指针异常”);
}
// TODO Auto-generated method stub
else{
int i = str.indexOf(“11”);
}
}
}

在这里插入图片描述
在这里插入图片描述

try语句块无异常所以不会执行catch语句块,最后的返回值由finally语句块决定
import java.io.File;
import java.io.IOException;

public class Main{
public static void main(String[] args) throws IOException{
createfile();

}

private static void createfile() throws IOException {
	File file = new File("d:/a.txt");
	if(!file.exists()){
	file.createNewFile();
}
}

}
如果在这个方法里无法处理掉这个异常就通过throws向上一层抛,由调用该方法者接到处理

在这里插入图片描述

运行时异常是RuntimeException类及其子类的异常,是非受检异常,如NullPointerException、IndexOutOfBoundsException等。由于这类异常要么是系统异常,无法处理,如网络问题;
要么是程序逻辑错误,如空指针异常;JVM必须停止运行以改正这种错误,所以运行时异常可以不进行处理(捕获或向上抛出,当然也可以处理),而由JVM自行处理。Java Runtime会自动catch到程序throw的RuntimeException,然后停止线程,打印异常

在这里插入图片描述
import java.util.Scanner;

import javax.print.DocFlavor.STRING;

public class TestExceptionEmployeer {

public static void main(String[] args) {
	/**
	 *3、参考以下代码,设计对象,用户输入不同内容或者通过构造方法设计,使得程序分别抛出空异常、身份证异常、工资低异常、工资高异常、年龄底异常、
             *年龄高异常,并给出相应提示。
	 *
	 */
	System.out.println("请输入你的编号:");
    Scanner id = new Scanner(System.in);
    int i = id.nextInt();
    
    System.out.println("请输入你的 姓名:");
    Scanner name = new Scanner(System.in);
    String n = name.next();
    
    System.out.println("请输入你的 年龄:");
    Scanner age = new Scanner(System.in);
    int ag = age.nextInt();
    
	System.out.println("请输入你的工资:");
Scanner in = new Scanner(System.in);
int a = in.nextInt();

System.out.println("请输入你的 身份证号:");
Scanner idCard = new Scanner(System.in);
String ic = idCard.next();


System.out.println("你输入的编号是:"+i);
System.out.println("你输入的姓名是:"+n);
System.out.println("你输入的年龄是:"+ag+"岁");
System.out.println("你输入的工资是:"+a+"¥");
System.out.println("你输入的身份证号是:"+ic);

	try {
		 Employee employee=new Employee(i,ag,n);
	}  catch (LowSalaryException e) {
		System.out.println(e.getS());
		e.printStackTrace();
	} catch (HightSalaryException e) {
		System.out.println(e.getS());
		e.printStackTrace();
	}catch (NullException e) {
		System.out.println(e.getS());
		e.printStackTrace();
	}
	catch (Exception e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}


try {
	Employee employee=new Employee(a, ic);
}  catch (LowAgeException e) {
	System.out.println(e.getS());
	e.printStackTrace();
} catch (HightAgeException e) {
	System.out.println(e.getS());
	e.printStackTrace();
}catch (Exception e) {
	// TODO Auto-generated catch block
	e.printStackTrace();
}

/*
try {
Employee employee=new Employee(a, “123456”);
} catch (NullException e) {
System.out.println(e.getS());
e.printStackTrace();

}catch (Exception e) {
	// TODO Auto-generated catch block
	e.printStackTrace();
}

try {
	Employee employee=new Employee(a, "123456");
}  catch (NullException e) {
	System.out.println(e.getS());
	e.printStackTrace();

}catch (Exception e) {
	// TODO Auto-generated catch block
	e.printStackTrace();
}

*/

}

}

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值