运行时错误和编译时错误

package day01;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class Test06 {
    /**
     * Java中的异常分为两大类:编译时异常和运行时异常,也被称为受检异常和非受检异常所有的
     * RuntimeException类及子类都被称为运行时异常,其他的异常都是编译时异常
     * 编译时异常:必须显示处理,否则程序会发生错误,无法通过编译;
     * 运行时异常:无需显示处理,也可以通过编译时异常-样处理;
     * <p>
     * Throwable的成员方法
     * 方法名                              说明
     * public String getMessage         返回此throwable的详细消息字符串
     * public String toString           返回此可抛出的简短描述
     * public vold printStackTrace()        把异常的错误信息输出在控制台
     * <p>
     * Java允许在方法的后面使用throws关键字对外声明该方法有可能发生异常,这样调用者在调用方法时,就
     * 明确地知道该方法有异常,并且必须在程序中对异常进行处理,把它向上一层抛出或者try catch,否则编译无法通过.
     * 自定义异常,继承Exception类即可。
     *
     * @param args
     */
    public static void main(String[] args) {
        System.out.println("程序开始");
        /**
         * ParseException
         * 在这里是日期格式异常,也就是日期格式解析异常,属于编译时异常
         * 因为我们根本就没有给他传递任何格式
         */
        String strDate = "2020-10-30";
        SimpleDateFormat s = new SimpleDateFormat("");
        try {
            Date date = s.parse(strDate);
        } catch (ParseException e) {
            e.printStackTrace();
        }

/**
 * NumberFormatException 数字格式异常,或不符合要求的格式
 * 这里是编译时异常
 */
        String name = "www";
        try {
            int sam = Integer.parseInt(name);
        } catch (NumberFormatException e) {
            e.printStackTrace();
        }

        /**
         * 在这里发生了一个异常,就是我们的空指针异常
         * 我们new出来一个对象,却没有给他分配内存地址,对象找不到内存地址,就会报这个错
         * 因为空指针异常属于运行时异常没有要求强制处理(做try catch)
         */
        System.out.println("-------------");
        Test06 te = new Test06();
        te.run();
        System.out.println("程序结束");
    }

    public static void run() throws NullPointerException {
        Integer ppd = null;
        ppd.intValue();
        System.out.println(ppd.intValue());
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值