• java异常处理


    异常指的是什么?

    程序被异常打断,如果没有异常处理机制,后面的流程就没办法继续执行;
    有了异常处理机制后,程序在发送异常的时候就不会中断,可以对异常进行捕获,然后改变程序执行的流程;

    throws和throw的区别

    //1.throws关键字用于声明异常 它的作用try-catch相似 而throw 用于主动抛出异常/是显示抛出异常的(当除数为0的时候,程序会主动抛出ArithmeticException);
    //2.throws 关键字后面后者很多异常的名字[myMethod1() throws ArithmeticException, NullPointerException{],
    //throw关键字后面跟的是异常对象[throw new exception_class("error message");];
    //3.throws 关键字出现在方法签名上,而throw关键字出现在方法体里;
    //4.throws关键字在什么异常的时候可以跟多个,用逗号隔开;而throws关键字每次只能抛出一个异常;
    1. public class DingTalkEncryptExceptionx extends Exception {
    2. private static Map msgMap = new HashMap();
    3. private Integer code;
    4. public Integer getCode() {
    5. return this.code;
    6. }
    7. public DingTalkEncryptExceptionx(Integer exceptionCode) {
    8. super((String)msgMap.get(exceptionCode));
    9. this.code = exceptionCode;
    10. }
    11. static {
    12. msgMap.put(0, "成功");
    13. msgMap.put(900001, "加密明文文本非法");
    14. msgMap.put(900002, "加密时间戳参数非法");
    15. msgMap.put(900003, "加密随机字符串参数非法");
    16. msgMap.put(900005, "签名不匹配");
    17. msgMap.put(900006, "签名计算失败");
    18. msgMap.put(900004, "不合法的aes key");
    19. msgMap.put(900007, "计算加密文字错误");
    20. msgMap.put(900008, "计算解密文字错误");
    21. msgMap.put(900009, "计算解密文字长度不匹配");
    22. msgMap.put(900010, "计算解密文字corpid不匹配");
    23. }
    24. }

    异常要怎么解决?

    java标准内建了一些通用的异常 这些类以throwable为顶层父类;
    throwable派生出error类和exception类;
    error类以及他的子类的实例,代表了jvm本身的错误.错误不能被程序员通过代码处理,error 很少出现;
    Exception以及他的子类,代表程序运行时发生的各种不期望发生从事件,可以被java异常处理;
    throw 关键字的作用是抛出一个异常,抛出的是一个异常类的实例对象, 在异常处理中,try 语句要捕获的是一个异常对象,那么此异常对象也可以自己抛出;
    thows  关键字声明的方法表示方法不处理异常,而是交给方法调用的时候处理

    常见的异常有哪些?

    • NullPointerException 空指针异常
    • ArrayIndexOutOfBoundsException 索引越界异常
    • InputFormatException 输入类型不匹配
    • SQLException SQL异常
    • IllegalArgumentException 非法参数
    • NumberFormatException 类型转换异常

  • 相关阅读:
    Python-股票市场用于算法交易的人类反馈强化学习 (RLHF)
    spring 事件监听使用@TransactionalEventListener,解决同一个线程中拿不到另一个事务的数据(让之前的事务提交)
    20款VS Code实用插件推荐
    Campus SNS 校园社区后端接口开发(附前端地址)
    【微服务部署】05-安全:强制HTTPS
    C#.NET ORM FreeSql 读取使用 US7ASCII 的 Oracle 数据库中文显示乱码问题
    1、年千亿营收企业Java研发人员日常使用Linux命令总结
    数据库审计的功能是什么
    C/C++/Python图像处理算法实战【3】彩色图像灰度化和二值化处理
    EPICS记录参考--模拟输入记录(ai)
  • 原文地址:https://blog.csdn.net/ruiguang21/article/details/132896863