System.exit(0); 结束程序
被除数 / 除数:
System.out.println(String.format("%d/%d = %d",
num,num1,num/num1));
在java中报错了 后面的代码不会执行。
排除异常:
try {
} catch (Exception e) {
}
try {
} catch (InputMismatchException e) {//输入不是int的出现 InputMismatchException 输入类型异常
// TODO: handle exception
e.printStackTrace();//打印错误信息标题
System.out.println(e.getMessage());//打印错误信息标题
} catch (ArithmeticException e) {输入0出现 ArithmeticException算术异常
e.printStackTrace();//打印堆栈信息
System.out.println(e.getMessage());//打印错误信息标题
}
try {
} catch (Exception e) {
// TODO: handle exception
}finally{
//有没有异常都执行
}
先执行try如果报异常就进入 catch 处理异常 再看有我finally有就执行
finally一定会执行吗?
不一定!finally之前有System.exit(0); 就不会执行
try 之前被return 不执行。
当有多个catch出现子类放在上面 父类放下面!
异常外抛:
不用try 把异常外抛的写法:
加了
try {
} catch (Exception e) {
}
与没加的是有区别的
加了的是经过处理后的信息。
运行结构:
* 不处理Cheked异常:
/**
* 不处理Cheked异常
*/
public class Test_03 {
public static void main(String[] args) {
FileInputStream fis = null;
//创建指定文件流
fis = new FileInputStream(new File("accp,txt"));
//创建指定文件的流
fis.close();
}
}
配置log4j:
log4j.rootLogger=info,stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.err
log4j.appender.stdout.layout=org.apache.log4j.SimpleLayout
显示方式 (3种):
log4j.appender.stdout.layout=org.apache.log4j.SimpleLayout
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-M-d HH\:mm\:ss}%x[%5p](%C\:%M) %m%n