异常指的是什么?
程序被异常打断,如果没有异常处理机制,后面的流程就没办法继续执行;
有了异常处理机制后,程序在发送异常的时候就不会中断,可以对异常进行捕获,然后改变程序执行的流程;
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关键字每次只能抛出一个异常;
public class DingTalkEncryptExceptionx extends Exception {
private static Map msgMap = new HashMap();
public Integer getCode() {
public DingTalkEncryptExceptionx(Integer exceptionCode) {
super((String)msgMap.get(exceptionCode));
this.code = exceptionCode;
msgMap.put(900001, "加密明文文本非法");
msgMap.put(900002, "加密时间戳参数非法");
msgMap.put(900003, "加密随机字符串参数非法");
msgMap.put(900005, "签名不匹配");
msgMap.put(900006, "签名计算失败");
msgMap.put(900004, "不合法的aes key");
msgMap.put(900007, "计算加密文字错误");
msgMap.put(900008, "计算解密文字错误");
msgMap.put(900009, "计算解密文字长度不匹配");
msgMap.put(900010, "计算解密文字corpid不匹配");
异常要怎么解决?
java标准内建了一些通用的异常 这些类以throwable为顶层父类;
throwable派生出error类和exception类;
error类以及他的子类的实例,代表了jvm本身的错误.错误不能被程序员通过代码处理,error 很少出现;
Exception以及他的子类,代表程序运行时发生的各种不期望发生从事件,可以被java异常处理;
throw 关键字的作用是抛出一个异常,抛出的是一个异常类的实例对象, 在异常处理中,try 语句要捕获的是一个异常对象,那么此异常对象也可以自己抛出;
thows 关键字声明的方法表示方法不处理异常,而是交给方法调用的时候处理
常见的异常有哪些?
- NullPointerException 空指针异常
- ArrayIndexOutOfBoundsException 索引越界异常
- InputFormatException 输入类型不匹配
- SQLException SQL异常
- IllegalArgumentException 非法参数
- NumberFormatException 类型转换异常