Java中try catch处理异常示例


Posted in Java/Android onDecember 06, 2021

 描述说明:

public class TryCatchStu {

 /*try catch:自己处理异常

  *try{

  * 可能出现异常的代码

  *}catch(异常类名A e){

  * 如果出现了异常类A类型的异常,那么执行该代码

  *}...(catch可以有多个)

  *finally{

  * 最终肯定必须要执行的代码(例如释放资源的代码)

  *}

  *代码执行的顺序:

  *1.try内的代码从出现异常的那一行开始,中断执行

  *2.执行对应的catch块内的代码

  *3.继续执行try catch 结构之后的代码

  *注意点:

  *1.如果catch内的异常类存在子父类的关系,那么子类应该在前,父类在后

  *2.如果finally中有return语句,那么最后返回的结果肯定以finally中的返回值为准

  *3.如果finally语句中有return,那么没有被处理的异常将会被吞掉

  *重写的注意点:

  *1.儿子不能比父亲的本事大

  *2.儿子要比父亲开放

  *3.儿子不能比父亲惹更大的麻烦(子类的异常的类型不能是父类的异常的父类型)

  *异常类Api:

  •   *1.getMessage():获取异常描述信息字符串
  •   *2.toString():返回异常类的包路径和类名和异常描述信息字符串
  •   *3.printStackTrace():除了打印toString的信息外,还要打印堆栈信息

  */

实例代码:

public static void main(String[] args)
 {
  System.out.println(demo());
 }
 public static int demo(){
  GirlHome gh = new GirlHome("小陈陈",'男',28);
  try{
   gh.intoHome();
   System.out.println("进入了女生宿舍");
   return 0;
  }catch(SexOutException e){
   //System.out.println("出现了异常");
   //System.out.println(e);
   e.demo();
   e.printStackTrace();
  }catch (AgeOutException e) {
   // TODO: handle exception
  }finally{
   System.out.println("我必须被执行");
  }
  return 1;
  //System.out.println("愉快的一天结束啦");
 }

class GirlHome {
 public String name;
 public char sex;
 public int age;
 public GirlHome(String name,char sex,int age)
 {
  super();
  this.name = name;
  this.sex = sex;
  this.age = age;
 }
 //如果发现进入者是男的,那么抛出性别异常
 public void intoHome() throws SexOutException,AgeOutException{
  if(sex!='女'){
   SexOutException se = new SexOutException(name+"你不是女的,滚!!!");
   throw se;
  }
  if(age>25){
   throw new AgeOutException(name+"你的年龄太大了,滚!!!!");
  }
  System.out.println(name+"开心的进入了宿舍");
 }
 public void demo()throws Exception{}
}

class SmallGirlHome extends GirlHome{
 public SmallGirlHome(String name, char sex, int age)
 {
  super(name, sex, age);
  // TODO Auto-generated constructor stub
 }
 @Override
 public void intoHome() throws SexOutException,AgeOutException
 {
  
 }
 public void demo()
 {
  
 }

class AgeOutException extends Exception{
 public AgeOutException(String message){
  super(message);
 }
}
 class SexOutException extends Exception{
 public SexOutException(String message){
  super(message);
 }
 public void demo(){
  System.out.println("爱啦啦阿拉");
 }
}

到此这篇关于Java中try catch基本用法的文章就介绍到这了,更多相关Java中try catch用法内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Java/Android 相关文章推荐
springboot中一些比较常用的注解总结
Jun 11 Java/Android
Java Socket实现多人聊天系统
Jul 15 Java/Android
SpringBoot SpringEL表达式的使用
Jul 25 Java/Android
Java日常练习题,每天进步一点点(38)
Jul 26 Java/Android
Spring Boot 排除某个类加载注入IOC的操作
Aug 02 Java/Android
Dubbo+zookeeper搭配分布式服务的过程详解
Apr 03 Java/Android
Java由浅入深通关抽象类与接口(上篇)
Apr 26 Java/Android
带你了解Java中的ForkJoin
Apr 28 Java/Android
Java 多线程协作作业之信号同步
May 11 Java/Android
Java处理延时任务的常用几种解决方案
Jun 01 Java/Android
利用Java连接Hadoop进行编程
Jun 28 Java/Android
Java Spring读取和存储详细操作
Aug 05 Java/Android
SpringDataJPA实体类关系映射配置方式
Dec 06 #Java/Android
Java异常处理try catch的基本用法
Dec 06 #Java/Android
Mybatis是这样防止sql注入的
Dec 06 #Java/Android
Java tomcat手动配置servlet详解
Nov 27 #Java/Android
使用jpa之动态插入与修改(重写save)
Nov 23 #Java/Android
Jpa Specification如何实现and和or同时使用查询
Nov 23 #Java/Android
解析mybatis-plus中的resultMap简单使用
Nov 23 #Java/Android
You might like
ajax取消挂起请求的处理方法
2013/03/18 PHP
PHP连接MySQL数据的操作要点
2015/03/20 PHP
php函数连续调用实例分析
2015/07/30 PHP
实例讲解YII2中多表关联的使用方法
2017/07/21 PHP
在JavaScript中实现命名空间
2006/11/23 Javascript
jquery 淡入淡出效果的简单实现
2014/02/07 Javascript
深入理解Javascript里的依赖注入
2014/03/19 Javascript
理解Javascript的call、apply
2015/12/16 Javascript
聊一聊Vue.js过渡效果
2016/09/07 Javascript
javascript 定时器工作原理分析
2016/12/03 Javascript
Vue中保存数据到磁盘文件的方法
2018/09/06 Javascript
解决vue props 拿不到值的问题
2018/09/11 Javascript
JavaScript格式化json和xml的方法示例
2019/01/22 Javascript
详解Vue路由自动注入实践
2019/04/17 Javascript
vue 解决异步数据更新问题
2019/10/29 Javascript
JS数组push、unshift、pop、shift方法的实现与使用方法示例
2020/04/29 Javascript
vue-cli3访问public文件夹静态资源报错的解决方式
2020/09/02 Javascript
[04:52]DOTA2亚洲邀请赛附加赛 TOP10精彩集锦
2015/01/29 DOTA
[03:02]辉夜杯主赛事第二日 每日之星
2015/12/27 DOTA
使用Python下的XSLT API进行web开发的简单教程
2015/04/15 Python
Python 多个图同时在不同窗口显示的实现方法
2019/07/07 Python
教你如何编写、保存与运行Python程序的方法
2019/07/12 Python
Django使用uwsgi部署时的配置以及django日志文件的处理方法
2019/08/30 Python
在echarts中图例legend和坐标系grid实现左右布局实例
2020/05/16 Python
浅谈PyTorch中in-place operation的含义
2020/06/27 Python
pycharm 配置svn的图文教程(手把手教你)
2021/01/15 Python
天巡全球:Skyscanner Global
2017/06/20 全球购物
内部类的定义、种类以及优点
2013/10/16 面试题
行政办公员自我评价分享
2013/12/14 职场文书
优秀学生干部推荐材料
2014/02/03 职场文书
初中英语课后反思
2014/04/25 职场文书
邓小平理论心得体会
2014/09/09 职场文书
2014年妇女工作总结
2014/12/06 职场文书
Pytest中skip skipif跳过用例详解
2021/06/30 Python
Vue图片裁剪组件实例代码
2021/07/02 Vue.js
Python实现位图分割的效果
2021/11/20 Python