逆袭之旅DAY28.XIA.异常处理
2018-07-24 14:42:24

第一种:
第二种:
第三种:







执行
try--catch--finally--return(执行return 退出方法)














代码示例:
输入数字,输出对应课程
1.如果输入的不是数字,抛出异常
2.如果输入的是数字,但数字没有对应的课程,抛出异常
throw new Exception();
catch 捕获对应异常,处理 或者 在方法声明的时候抛出异常类型,由方法的调用者处理异常
package day09.com.neusoft.test;
import java.util.Scanner;
public class InOutException {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input = new Scanner(System.in);
System.out.println("请输入课程代号(1~3):");
try {
int a = input.nextInt();
if(a==1||a==2||a==3){
switch(a) {
case 1:
System.out.println("JAVA编程");
break;
case 2:
System.out.println("ORACLE数据库");
break;
case 3:
System.out.println("C语言编程");
break;
}
}else {
throw new Exception();
}
}catch(Exception e) {
System.out.println("您的输入不合法!");
}
System.out.println("欢迎提出建议!");
}
}
log4j
步骤:
1.在项目的目录下新建 lib文件夹
2.log4j.jar--->lib
3.build path 构建路径
4.log4j.properties--->项目目录或(包目录)下

package day09.com.neusoft.test; import org.apache.log4j.Logger; /**
* 数组下标越界异常
* @author ljj
*
*/
public class ArrayExcaption {
private static Logger jbit = Logger.getLogger(ArrayExcaption.class.getName());
public static void main(String[] args) { int[] arr = new int[] {1,2,3,4,5};
jbit.debug("数组的第一个值:"+arr[0]);
try {
//遍历数组
for(int i=0;i<=arr.length;i++){
System.out.println(arr[i]);
}
} catch (ArrayIndexOutOfBoundsException e) {
jbit.error("数组下标越界!",e);
//System.out.println("数组下标越界!"+e.getMessage());
}catch(Exception e) {
//e.getStackTrace();
jbit.error(e.getMessage());
}finally {
System.out.println("欢迎使用本程序!");
} } }
jbit是文件名
package day09.com.neusoft.test; import java.util.InputMismatchException;
import java.util.Scanner; import org.apache.log4j.Logger; /**
* 除法运算
* @author ljj
*
*/
public class InputaErrorException {
private static Logger logger = Logger.getLogger(InputaErrorException.class.getName());
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input = new Scanner(System.in); //
try {
System.out.println("请输入被除数:");
int a = input.nextInt();
System.out.println("请输入除数:");
int b = input.nextInt();
System.out.println("a/b="+a/b);
logger.info("a/b="+a/b);
}catch(InputMismatchException ie) {
logger.error(ie.getMessage()); }catch(ArithmeticException ae) {
logger.warn(ae.getMessage());
} } }
try{
}finally{
}
可以这样用
逆袭之旅DAY28.XIA.异常处理的更多相关文章
- 逆袭之旅DAY.XIA.Object中常用方法
2018-07-31
- 逆袭之旅DAY31.XIA.JDBC
2018-07-31 MySQL package oop_emp.com.neusoft.dao; import java.sql.Connection; import java.sql.Driver ...
- 逆袭之旅DAY30.XIA.集合
2018年7月26日 面试题:List和set的区别 ArrayList 遍历效率较高,但添加和删除较慢 遍历集合最高效的方法:迭代器 集合的遍历: 迭代器:Iterator 创建 为什么使用泛型: ...
- 逆袭之旅DAY24.XIA.二重进阶、双色球
一. 选择题. 1. 以下关于二重循环的说法正确的是(D). A. 二重循环就是一般程序中只能有两个循环 B. While循环不能嵌套在for循环里 C. 两个重叠的循环不能嵌套在第三个循环里. D. ...
- 逆袭之旅DAY24.XIA.数组练习
2018-07-20 08:40:19 1. public void stringSort(){ String[] s = new String[]{"George"," ...
- 逆袭之旅DAY20.XIA.程序调试
2018-07-16 20:25:50 F5:进入方法 F6:单步执行
- 逆袭之旅DAY20.XIA.循环结构
2018-07-16 19:53:47 while循环 do do...while循环 for 循环
- 逆袭之旅DAY20.XIA.选择结构
2018-07-16 18:50:49 本章目标: 基本if选择结构 逻辑运算符 多重if选择结构 嵌套if选择结构 什么是if选择结构: if选择结构是根据条件判断之后再做处理 import ja ...
- 逆袭之旅DAY20.xia.师父指导.数据类型
2018-07-16 09:35:57 基础是王道 从码农--软件工程师--软件架构师 String 首字母大写,特殊引用类型,常量类 二.数组 存钱罐(只能放钱) 数据兼容 数组的长度(定义后长度 ...
随机推荐
- java与js交互,相互调用传参
随着前端技术的发展与H5的广泛使用,移动端采用native+h5的方式越来越多了,对于Android来说就涉及到java与js的交互,相互调用传参等.下面就来看一下java与js交互的简单demo. ...
- Codeforces 374C - Inna and Dima
374C - Inna and Dima 思路:dfs+记忆化搜索 代码: #include<bits/stdc++.h> using namespace std; #define ll ...
- 日常英语---七、[Updated November 14 at 4:10 PM PST] Scheduled Game Update - November 14, 2018(n.标准)
日常英语---七.[Updated November 14 at 4:10 PM PST] Scheduled Game Update - November 14, 2018(n.标准) 一.总结 一 ...
- p2751 Job Processing
如果单单只安排过程1的时间最短,很容易算出来.用优先队列取最小,加上增量后再放回就行.对过程2也进行这样的操作.将过程1第一个完成的在过程2最后一个完成.以样例来说,过程1:1,1,2,2,3,过程2 ...
- php多种方式获得文件扩展名
/** * * 五种方法获取文件扩展名 **/ $file_name="aa.txt"; echo strrchr($file_name, '.'); echo '<hr/& ...
- Red and Black HDU - 1312
There is a rectangular room, covered with square tiles. Each tile is colored either red or black. A ...
- linux网络配置命令(二)——ip
ip命令 查看/设置路由.设备.路由策略和渠道信息 格式 ip [ OPTIONS ] OBJECT { COMMAND | help } OBJECT := { link | addr | addr ...
- STLC - 软件测试生命周期
什么是软件测试生命周期(STLC)? 软件测试生命周期(STLC)定义为执行软件测试的一系列活动. 它包含一系列在方法上进行的活动,以帮助认证您的软件产品. 图 - 软件测试生命周期的不同阶段 每个阶 ...
- Web测试——功能测试
由于本人工作接触Web测试,所以我从网上找的资料,学习了解web测试哪些内容,然后自己整理汇总的随笔,如文章中有不足的地方,请大家多多指教:或者文章内容与他人相似,望见谅. 功能测试: 1.链接测试: ...
- antd-mobile的DatePicker日期选择组件使用
现在项目上有个需求,在时间选择上需要精确到分钟,且分钟只能是0分钟或者是30分钟. 使用了antd-mobile的DatePicker组件,具体用法可参考:https://mobile.ant.des ...