方法通过异常与返回值达到双类型返回值效果
来源:互联网 发布:b2b网络平台建设方案 编辑:程序博客网 时间:2024/06/01 07:44
在写方法的时候我们很多时候会碰到这种情况:
情况一 的时候我们要返回对象,
情况二的时候我们想返回字符串甚至另一个对象了,
但是返回值类型设置成对象了,这时候我们怎么处理呢;
那么现在我们就可以用到异常了
public User getUser(String id) throws Exception{ User user = userService.getById(id); if(user == null){ throw new Exception("震惊!蝙蝠侠竟然不存在!!!"); }else { return user; } } public void test(){ try{ User user = getUser("蝙蝠侠"); System.out.println(user.toString()); }catch (Exception e){ System.out.println(e.getMessage()); } }
上述代码中返回值为 User, 但是 如果user不存在的话需要返回字符串,这种情况 就要把字符串通过异常抛出去, 然后在调用方法的时候进行异常的处理, 从而获取所需要的数据;
抛异常不仅限于字符串还有很多类型的都可以,我想要用异常抛一个对象回去的话,我可以用Gson把对象转换成json,然后当字符串传给Exception, 抛出去,回头直接获取,再转回对象就行了;
当然用Exception只是为了简单,在正常开发中有什么特殊需求的话,需要自己自定义异常类进行处理相关数据,
异常里边可以传一个参数也可以两个也可以三个;
有些有特殊需求的异常也用到collection;
/** * */package chengzi;/** * @author chengzi * */public class Test {public static void main(String[] args) {Test test = new Test();try{ String user = test.getUser("蝙蝠侠");// System.out.println(user.toString()); }catch (Exception e){ System.out.println(e.getMessage()); }}public String getUser(String id) throws Exception{ String user = null; if(!id.equals("蝙蝠侠")){ user = "震惊!蝙蝠侠来了!!!"; } if(user == null){ throw new Exception("震惊!蝙蝠侠竟然不存在!!!"); }else { return user; } }}
阅读全文
1 0
- 方法通过异常与返回值达到双类型返回值效果
- java方法的重载与覆盖的返回值类型
- 反射获取方法参数与返回值类型
- java方法的重载与覆盖的返回值类型
- java方法的重载与重写的返回值类型
- java方法的重载与覆盖的返回值类型
- 通过反射获取方法返回的类型
- 数组类型的方法返回值
- @RequestMapping方法返回值为String类型
- 判断jQuery方法返回值的类型
- java继承或实现方法时异常和返回值的类型范围
- 获取注解,权限修饰符,返回值类型,方法名,形参列表,异常
- Hibernate的count(*)函数通过调用uniqueResult方法的返回值类型
- 浅谈返回值类型: json与html
- 通过引用返回值
- 通过引用返回值
- struts返回值类型
- 函数返回值类型
- The SoX of Silence
- 在线就能用!10个帮你修图+剪辑视频+PPT制作的网站
- eoj 3330 沉陷过往的幻灭
- Android进阶#(8/12)让不断升级的系统更好管理——Git 版本控制_原理+配置
- AlexNet
- 方法通过异常与返回值达到双类型返回值效果
- Linux下调整/tmp目录大小
- 【转】SQL中distinct的用法
- html 使表格随着内容自动适应宽度
- JAVA四种引用的区别
- Ambari引入kafka服务并进行基本的测试
- 面试怎么谈薪资——让自己的利益最大化
- Servlet生命周期与工作原理
- jsonp解决同源问题和java结合使用