`
倚地屠蛇
  • 浏览: 45279 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

新手~~关于异常的使用问题

阅读更多
今天写程序,用了一个简单工厂模式,工厂类有一个静态工厂方法,传入一个参数,根据参数生成不同的对象:
    public static GateWayCaller getGateWayCaller(String serviceKey)
    {
        if("alerting".equals(serviceKey))
        {
            return new AlertingCaller();
        }
        else if("report".equals(serviceKey))
        {
            return new ReportCaller();
        }
        //...
        else
        {
            return null;
        }
    }

一同事硬说我return null不对,应该抛出一个checked异常,由客户端调用者去处理该异常。

我的想法很简单,既然这是一个生成对象的方法,如果调用者将参数传错导致要生成的对象不存在,就应该返回一个空对象,而不是抛出异常。不然的话所有客户端代码都要处理一个没用的异常!!

搞的好郁闷,最受不了的是老说我什么什么观点是错误的。俺也没有什么太多的编程经验,也不知道该怎么去反驳。我认为没有哪个观点是绝对错误的,只有比较之下哪种做法更好一点?听听大家的意见?
分享到:
评论
1 楼 rtdb 2007-10-23  
抛出异常是对的。
客户端调用者在最外层可以统一处理。

null更可怕,客户端调用者更要处处判断。

相关推荐

    C#学习课件,用于新手~

    此外,C#还支持异常处理,这是程序错误处理的关键部分。通过try-catch块,你可以捕获并处理运行时可能出现的错误,防止程序崩溃。 对于Web开发,你需要了解ASP.NET框架,它提供了一整套构建Web应用的工具和服务。在...

    XP系统 简单修复 可以解决平时遇到的奇怪问题·合适新手使用~

    综上所述,这个“XP系统简单修复”集合提供了一系列针对性的解决方案,帮助新手用户解决日常操作中遇到的种种问题,从而提升Windows XP系统的稳定性和使用体验。通过了解并运用这些方法,用户可以在遇到问题时更有效...

    Python异常和错误实践手册 新手必备

    所谓异常处理,就是指程序在出现问题时依然可以正确的执行剩余的程序,而不会因为异常而终止程序执行。 Python 中引进了很多用来描述和处理异常的类,称为异常类。异常类定义中包含了该类异常的信息和对异常进行...

    c++入门 适合新手 适合新手 适合新手适合新手 适合新手

    对于新手来说,掌握C++的基本语法和概念是进入编程世界的良好起点。 一、C++基础 1. **变量和数据类型**:C++中的数据类型包括基本类型(如int、float、double、char等)、复合类型(如数组、结构体、联合体)以及...

    易语言SEH异常处理源码.rar

    通常,这样的文档会包含以下内容:如何编译源码,如何在自己的程序中调用异常处理模块,以及在遇到异常时如何进行调试和问题排查。对于初学者来说,这份说明将帮助他们理解和运用这些源码,提高他们的编程技能。 ...

    新手必须掌握的Python3的异常大全.docx

    以上就是Python3中新手经常遇到的一些异常及其解决方法。理解并学会处理这些异常是成为一名合格的Python程序员的基础。在编写代码时,要时刻注意语法、数据类型、变量作用域和对象操作,以避免这些常见的错误。

    由专业团队定制的IT技术HR最喜欢看的简历模板,助力提升IT岗位面试成功率,适合小白新手(工作1~3年)的使用

    例如,你可以提及你参与的“基于openCV及百度智能云的人脸考勤系统”项目,详细阐述其功能和你的具体贡献,如使用C++实现毫秒级人脸识别,以及在“库房环境监测系统”项目中如何利用Qt进行实时环境监测和异常报警...

    新手常见Python错误及异常解决处理方案

    然而,编写Python代码的过程中,无论是新手还是经验丰富的开发者,都可能会遇到错误和异常。本文将详细解释Python中的错误和异常,以及如何有效地处理它们。 首先,我们需要理解Python中的两种主要错误类型:语法...

    Sniffer新手使用教程

    Sniffer是一种网络嗅探工具,主要用于网络数据包的捕获和分析,对于网络管理员和网络安全专业人士来说,它是理解和诊断网络问题的重要工具。本教程专为新手设计,将带你逐步了解和掌握Sniffer的基本操作和应用。 一...

    APICloud新手常见问题

    在使用APICloud进行应用开发时,很多新手开发者可能会遇到本地编译与云编译的效果差异问题。例如,在本地编译时某些功能或模块无法正常工作,而云编译则能正常显示。 **案例分析**: 1. **CityList和摇一摇模块空白...

    c++入门经典适合新手

    新手需要花时间理解和熟练使用指针,包括指针的声明、赋值、解引用和指针数组等。 C++标准库提供了大量的工具和功能,例如输入/输出流(iostream)、容器(如vector和list)和算法。学习如何有效地利用这些库可以极...

    新手学visual c++ 30例代码

    《新手学Visual C++ 30例代码》是由互动出版社出版的古槿编著的一本适合初学者的编程教程。本书旨在帮助初次接触Visual C++的读者快速掌握编程基础,通过30个精心设计的实例,让学习者在实践中理解和运用C++语言。 ...

    对Python新手编程过程中如何规避一些常见问题的建议

    在Python编程中,新手经常会遇到一些常见的问题,这些问题可能导致代码效率低下、易出错或不符合Pythonic的编程风格。以下是一些针对Python新手的建议,旨在帮助他们规避这些问题。 首先,关于迭代。Python新手常常...

    解决各种java 异常的方法

    在Java编程过程中,异常处理是不可或缺的一部分,它帮助开发者捕获和处理程序运行时可能出现的问题。本资源包“解决各种java 异常的方法”聚焦于Java异常的处理策略,为初学者提供了一套全面的解决方案,旨在让Java...

    java编程新手自学手册源码

    源码中包含的异常处理示例将帮助学习者理解何时和如何使用异常,以及如何优雅地处理程序可能出现的问题。 输入/输出流(I/O流)在处理文件操作和数据传输时非常常见。Java提供了丰富的I/O类库,包括字节流、字符流...

    新手上路秘籍.pdf

    其次,利用"鼻子闻",即注意车内异常气味,如烧糊味可能预示着发动机或离合器存在问题,需及时停车检查。"耳听八方"则强调倾听周围声音,如紧急刹车声、撞击声,这些声音可能是危险的信号。 在复杂交通环境中,注意...

    适合新手学习的php项目

    新手将了解如何使用PHP接收和验证HTTP POST请求的数据,以及如何使用HTML和PHP结合创建简单的用户界面。 6. **数据库交互**:基础的MySQL数据库连接和查询操作也是PHP入门的重要部分。项目可能包含使用PHP连接MySQL...

    ios-新手引导页面效果.zip

    10. **测试与调试**:在实际设备上进行测试是必不可少的,以确保在各种情况下引导页面都能正常工作,无视觉异常或交互问题。Xcode的模拟器和调试工具可以帮助开发者定位和修复问题。 以上就是“ios-新手引导页面...

    java新手学习

    Java是一种广泛使用的面向对象的编程语言,以其跨平台性、高效性和安全性著称。对于新手来说,学习Java是一个很好的选择,因为它的语法清晰且结构...通过不断实践和解决实际问题,新手可以逐渐成长为熟练的Java开发者。

Global site tag (gtag.js) - Google Analytics