逆袭之旅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 首字母大写,特殊引用类型,常量类 二.数组 存钱罐(只能放钱) 数据兼容 数组的长度(定义后长度 ...
随机推荐
- git Bash下复制粘贴
git复制:Ctrl+insert git粘贴:Shift+Insert git常用快捷键链接地址:https://www.jianshu.com/p/cc1fbd89e087 在gitHup上下载他 ...
- java高并发解决方案
高并发的解决方法有两种: 1.使用缓存 2.使用生成静态页面: (代码质量,不要性能低下的sql和代码.有的一条sql搞定的事,有人用了多个循环才能搞定.取决于程序员的经验!(还有就是从最基础的地方优 ...
- 编写脚本,出现 TypeError: exceptions must be old-style classes or derived from BaseException, not unicode怎样解决?
小编使用robot framework,在编写安卓自动化脚本时,出现这样的情况: 在网上搜了好久,发现都是python的解决方法,到底怎样解决robot里面的问题呢?最终发现: (1)代码中我是这样写 ...
- jenkins之从0到1利用Git和Ant插件打war包并自动部署到tomcat(第二话):安装插件,配置JDK、Git、Ant
jenkins之所以这么强大,离不开丰富的插件库. 要确保jenkins上安装好Git plugin.GitHub plugin.AntPlugin插件,一般在启动jenkins时默认安装的插件中就包 ...
- C# 定时调用方法
private void button1_Click(object sender, EventArgs e) { System.Timers.Timer timer = new System.Time ...
- mq/mysql/redis/nginx常见服务&工具安装
单机版 3.1安装工具 3.1.1 安装Maven工具 3.1.1上传安装包 1)root用户创建安装目录如/usr/local /maven: mkdir -p /usr/local/maven ...
- linux重启后进入了救援模式,无法远程登录
卸载删除了某个文件系统分区的逻辑卷,但是没有修改fstab文件,导致系统重启异常,此时已经无法远程连接了,只能本地登录到救援模式修改
- English trip EM2-LP-1B Favorite Things Teacher:William Full name: Willian Richard Ogzrd 威廉理查德·奥格兹德
课上内容(Lesson) # music pop 流行音乐 light music 轻音乐 rep 说唱音乐 rack 摇滚乐 classic 古典乐 hip-hop n. 街舞,即兴音乐:嘻哈 ...
- Jumpserver3.0部署(Centos6.x)
1.jumpserver基础环境准备[root@jumpserver ~]# yum -y install epel-release[root@jumpserver ~]# yum clean all ...
- liunx之用户管理
用户管理 ==============================================================groupadd,groupdeluseradd,usermod, ...