首页 > 其他分享 >异常

异常

时间:2023-11-12 22:34:44浏览次数:29  
标签:自定义 System println new 异常 out

异常

认识异常

异常是代码在编译或者执行的过程中可能出现的错误

1.运行时异常

int[] arr ={1,2,3,4}

//System.out.println(arr[3]);出现索引越界异常

String name = null;
System.out.println(name.length); //空指针异常

2.编译时异常

代码写完就会出现的错误。(在于提醒程序员,你的代码在这里很容易出现编译异常)

STring s = "2023-11-11 11:11:10";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date d = sdf.parse(s);
System.out.println(d);

throws 抛出异常

在方法上使用throws关键字,可以将方法内部出现的异常抛出去给调用者处理

try...catch捕获异常

直接捕获程序出现的异常

异常的作用

异常是用来查询系统Bug的关键参考信息

异常可用作为方法内部的一种特殊返回值,以便通知上层调用者底层的执行情况

  //理解异常的作用
        System.out.println("开始=========");
        try {
            divde(10, 0);
            System.out.println("程序执行成功了!");
        } catch (Exception e) {
            System.out.println("程序出现了bug");
        }
        System.out.println("结束");
    }

    private static void divde(int a, int b) {
        if (b == 0) {
            //手动抛出异常作为方法的返回值,通知上层的调用者
            throw new RuntimeException("/ b 不能为 0 ");
        }
        int c = a / b;
        System.out.println("结果是:" + c);

    }

自定义异常

Java无法为这个世界上全部的问题都提供了异常类来代表,如果企业自己的某种问题,想通过异常来表示,以便使用异常来管理该问题,那就需要自己来定义异常类了

自定义异常的分类

自定义运行时异常

定义一个异常类继承RuntimeException

重写构造器

通过throw new 异常类(xxx)来创建异常对象并抛出

编译阶段不报错,提醒不强烈,运行时才可能出现!!!

自定义编译时异常

定义一个异常类Exception

重写构造器

通过throw new 异常类(xxx)创建异常对象并抛出

编译阶段就报错,提醒更加强烈!!

//自定义异常
public class ItheimaAgeIllegalException extends Exception {
    public ItheimaAgeIllegalException() {
    }

    public ItheimaAgeIllegalException(String message) {
        super(message);
    }
}
  public static void main(String[] args) {
        //掌握自定义异常的定义
        System.out.println("开始");
        try {
            saveAge(234);
        } catch (Exception e) {
            e.printStackTrace();//打印异常信息出来
        }
        System.out.println("结束");
    }

    public static void saveAge(int age) throws ItheimaAgeIllegalException {
        if (age <= 0 || age > 150) {
            //出现问题:用异常表示,年龄非法异常
            //throw:从方法内部抛出一个异常对象,通知调用我的方法
            throw new ItheimaAgeIllegalException("/age");
        } else {
            System.out.println("成功保存您的年龄:" + age);
        }
    }

标签:自定义,System,println,new,异常,out
From: https://www.cnblogs.com/yifan0820/p/17828015.html

相关文章

  • java-异常处理
    第九章java异常处理习题的引入【1】代码: 1publicclassTest{2//这是一个main方法,是程序的入口:3publicstaticvoidmain(String[]args){4//实现一个功能:键盘录入两个数,求商:5Scannersc=newScanner(System.in);6Sy......
  • 异常
    我们在编写程序的时候并不是每次都能完美运行,总会出现一些问题,也就是报错,本文主要讲的是运行是出现的错误。Java中,运行时出现的错误被视为异常,而对应的就有异常处理机制异常一般分为两种:Error:Java虚拟机无法解决的严重问题,一般不做处理。 Exception:其它因编程错误或偶然的外......
  • async、await的异常处理
    1.简介https://blog.csdn.net/Litt_White/article/details/1262789702.异常处理https://baijiahao.baidu.com/s?id=1778270777795474068&wfr=spider&for=pc......
  • Oracle执行块中的异常处理
    PL/SQL异常处理是PL/SQL块中对执行部分出现异常进行处理的部分。PL/SQL采用的是统一异常处理机制,当异常发生时,程序会自动跳转到异常处理部分,交给异常处理程序进行异常匹配,再调用对应的处理方法。如果程序出现异常,而没有找到对应的异常处理程序,则程序会直接中断抛出异常。PL/SQL异......
  • Maven打包项目时异常:Cannot access nexus-aliyun (http://maven.aliyun.com/nexus/con
    package是报错Cannotaccessnexus-aliyun(http://maven.aliyun.com/nexus/content/groups/public)inofflinemodeandtheartifactorg.apache.maven.surefire:maven-surefire-common:pom:2.22.2hasnotbeendownloadedfromitbefore.根据翻译的意思:无法在脱机模式下......
  • 电脑自动更新后,出现白屏死机等异常情况,卸载最近更新的方法
          找到最近安装的更新,因为不确定是哪个更新导致的问题,先卸载一个,然后再使用,如果发现问题还存在,就继续卸载可以记录下每次卸载的更新    ......
  • Oracle常用SQL-处理异常锁表
    锁表查询的代码有以下的形式:selectcount(*)fromv$locked_object;select*fromv$locked_object;查看哪个表被锁selectb.owner,b.object_name,a.session_id,a.locked_mode,a.object_idfromv$locked_objecta,dba_objectsbwhereb.object_id=a.object_id;查看是哪个ses......
  • Linux:SSH服务异常,无法登录解决办法
    我这能杀死啊,我还以为杀不死呢。。。[root@RV1126_RV1109:/]#killallky_ai_camera_engine_origin[root@RV1126_RV1109:/]#12文章目录20230816Linux中使用killall时无法找到进程的原因及解决方法一、引言二、可能的原因2.1进程名错误2.2进程未在执行2.3权限问题三、解决方......
  • 标题:Dubbo RPC开发中的序列化问题:深度解析反序列化导致的HashMap异常
    DubboRPC开发中的序列化问题:深度解析反序列化导致的HashMap异常在使用DubboRPC进行开发时,我们可能会遇到一些出乎意料的问题。其中之一就是在进行远程调用时,内部嵌套对象出现与预期不符的HashMap。这个问题的根源在于反序列化过程中找不到对象,导致解析成了HashMap。在这篇博客......
  • Java异常的分类
       异常处理     ......