输出:
标准输出:System.out
错误输出:System.err
异常处理:运行时出现的错误
1)try..catch..finally:
try{有可能出现异常的代码} catch(){出现异常时执行的代码} finally{有无错误都要执行的代码}
try之后可以有多个catch,catch的顺序是越具体的类越写前面,越抽象的类越写后面
2)throws:
抛出异常,在方法声明后抛出异常,谁调用谁处理
覆盖方法:不能抛出比父类更大的异常
1)子类可以不抛异常
2)子类如果抛异常,只能够是父类的异常类或者父类异常类的子类
3)运行时异常例外
3)throw:抛出异常 在方法中的句子中,通常在if语句或者catch块之后
抛出异常类的实例,只能抛出异常类的实例
抛出异常之后一定要用try..catch或者throws来进行处理
4)自定义异常:
继承Exception或者Exception的子类,编写构造方法,构造方法中调用父类的即可
finally:
1)对应finally代码中的语句,即使try代码块和catch代码块中使用了return语句退出当前方法或break跳出某个循环,相关的finally代码块都会执行
2)当try或catch代码块中执行了System.exit(0)时,finally代码块中的内容不被执行
异常的体系架构树:
Throwable:
Exception:
非检查性异常(运行时异常):RuntimeException
若系统运行时可能产生该类异常,则不必在程序中声明对该类异常的处理,则可以编译执行
检查性异常:IOException
若系统运行时可能产生该类异常,则必须写出相应的处理代码,否则无法通过编译
Error:
特指应用程序在运行期间发生的严重错误
命令行参数:
main方法的参数
java 类名 命令行参数
带package包的Java文件编译:先进入根路径
javac Java文件的完整路径名\类名.java
带package包的Java文件执行:
java 类的完整路径名
double j=i/0;System.out.println(j);
//没有错误,int除数为0会报错,该打印结果为In..