Error&Exception
- exception:程序员错误
- error:jvm(eg:内存溢出OutOfMMemory,栈溢出StackOverFlow)
- Java把异常当作对象来处理,并定义一个基类java.lang.Throwable作为所有异常的超类。
- 每一次爆红,是学习,是要进步了
捕获&抛出异常
- 异常处理五个关键字
try.catch.finally、throw、throws
public static void main(string[] args) {
int a = 1;
int b = ;
try { //try监控区域
System.out.println(a/b);
}catch (ArithmeticException e){//catch捕获异常(异常类型,throwable最大异常都包括,都可以包括)
System.out-println("一程序出现异常,变量b不能为0");
}fina1ly {//处理善后工作
system.out.println("finally");
}
}
- finally 可以不写finally,假设IO,资源,关闭!
- 多个catch时要从小到大捕获异常
- 快捷键:ctrl+alt+t
- 结束程序:System.exist(0)
- 先捕获(为了不让程序停止),在抛出(throw[方法中],throws[方法上]
自定义异常
- 继承exception类
- 捕获,抛出
//自定义的异常类
public class MyException extends Exception {
//传递数字>10;
private int detail;
public MyException(int a) {//构造器
this.detail = a;
}
//toStringcoverride
public string toString() {
return "MyException{" +
"detail=" +detail +'}';
}
}
- 小结
1.处理运行时异常时,采用逻辑去合理规避同时辅助try-catch处理
2.在多重catch块后面,可以加一个catch (Exception)来处理可能会被遗漏的异常
3.对于不确定的代码,也可以加上try-catch,处理潜在的异常
4.尽量去处理异常,切忌只是简单地调用printStackTrace(),去打印输出
5.具体如何处理异常,要根据不同的业务需求和异常类型去决定
6.尽量添加finally语句块去释放占用的资源
7.出现错误:alt+enter:自动提示
补充
- ascil:一个字节
- utf-8:一个字节
- Unicode:三个字节
- 1字节(byte)=8位(位为最小单位)
- \t,\n,\b,\r,',*
- 常量 final MAX_A = 10;
- 命名规则
1.见名知意
2.驼峰命名(变量,方法)
命名规范
3.类,首字母大写,驼峰命令
4.常量:大写+下划线
5.不要使用拼音命令 - 刷题网站:力扣
- 排序算法:
- 面向对象:任何东西都可以看作对象:有姓名,特点等
- 类(class)是对象(方法体)的抽象,对象是类的具体
- 常用类×
- 集合框架×
hashmap高频
- IO流×
- 多线程×
- 网络编程×
- GUI×
- 注解和反射×