我为一个更大的应用程序构建了一个库/模块,它从函数中抛出异常.如果找不到文件或文件包含错误格式,则抛出Exeption.

该方法看起来像:

Shape parse(String path) throws Exception {

// load file, parse file, guild graph

if ( file does contain bad format ) {

throw new Exception("bad format");

}

parse(newPath);

}

该例外将终止我的模块,因为它将被捕获在使用我的模块的应用程序中,但这没关系,因为格式很糟糕.

我想知道的是 – 这是一个不好的做法,从这样的递归函数抛出异常?

解决方法:

这真的取决于你的编程风格.

在递归函数中抛出异常并不坏,但抛出

new Exception("bad format")

这不是一个很好的做法,因为很难捕捉到特定的例外.您应该创建自己的例外或使用

java.text.ParseException

作为检查异常.

标签:java,exception-handling

来源: https://codeday.me/bug/20190622/1262647.html

java中主函数抛出的异常怎么解决_java – 从递归函数中抛出异常相关推荐

  1. JSqlParser4.3版本无法解析mysql中JSON_OBJECT函数抛出ParseException异常

    2022年3月31日,找了一下午的bug bug 已经提交issues,详情请看GitHub,地址:https://github.com/JSQLParser/JSqlParser/issues/15 ...

  2. java 异常 不抛_java中的不抛出的异常是什么

    RuntimeException与其子类和错误(Error)不是必须要捕获或抛出. Java异常Throwable分为两类:Error和Exception,Error类是错误,程序本身不能处理的. E ...

  3. springBoot 在过滤器中如何捕获抛出的异常并自定义返回信息

    一般springBoot自带的全局异常捕获机制都是在业务层发生的异常来进行捕获的,因为过滤器的执行顺序是在全局异常机制启动之前执行的,所以一旦过滤器中发生异常,全局异常捕获机制无法使用 现在有一个围魏 ...

  4. spring框架做全局异常捕获_springboot springmvc抛出全局异常的解决方法

    springboot中抛出异常,springboot自带的是springmvc框架,这个就不多说了. springmvc统一异常解决方法这里要说明的是.只是结合了springboot的使用而已.直接上 ...

  5. java 抛出指定异常信息_java 抛出异常处理的方法

    java 抛出异常处理的方法 为了避免调用的人不知道有异常,才抛出异常的,所以是谁掉用的久在哪里处理.说的对吗 对. 1.throws关键字通常被应用在声明方法时,用来指定可能抛出的异常.多个异常可以 ...

  6. 第8集析构函数中抛出的异常

    前两篇文章讨论了对象在构造过程中(构造函数)和运行过程中(成员函数)出现异常时的处理情况,本文将讨论最后一种情况,当异常发生在对象的析构销毁过程中时,又会有什么不同呢?主人公阿愚在此可以非常有把握地告 ...

  7. Spring捕获AOP抛出的异常

    Spring捕获AOP抛出的异常 背景 解决过程 最初方案 失败探索 添加AOP 继承SDK的AOP类 修改AOP生效条件 最终解决方案--BeanPostProcessor 总结 背景 在最近开发中 ...

  8. 【C++ 语言】异常 ( 抛出字符串异常 | 抛出异常对象 | 抛出任意对象 | 抛出自定义异常 )

    文章目录 I 异常处理 II 字符串异常 III 异常对象 IV 抛出任意类型对象 V 自定义异常 VI 异常相关代码 I 异常处理 1. 异常处理 : 使用 " try{}catch(){ ...

  9. 【C++ 语言】异常 ( 抛出字符串异常 | 抛出异常对象 | 抛出任意对象 | 抛出自定义异常 )

    转载自:https://blog.csdn.net/shulianghan/article/details/100002073 文章目录 I 异常处理 II 字符串异常 III 异常对象 IV 抛出任 ...

最新文章

  1. 萌新向Python数据分析及数据挖掘 第一章 Python基础 第三节 列表简介 第四节 操作列表...
  2. 46.一个例子了解C++中异常处理
  3. python算法与数据结构-二分查找算法
  4. sqlserver约束
  5. 西瓜书boosting learning 集成的错误率推导
  6. 继承ActionSupport例子展示
  7. 计算机软件英文参考文献,软件工程英文参考文献(优秀范文105个)
  8. st语言 数组的常用方法_ST语言入门基础
  9. 2.4g和5g要不要合并_路由器2.4g和5g双频合一好还是分开好
  10. 傅里叶滤波去噪学习笔记
  11. 【Java】保留两位小数(不四舍五入)
  12. 彩蛋-管理员root@‘locahost‘ 密码丢失,处理方案。
  13. 面向对象系列(一)-关键字
  14. c++复习——侯捷版
  15. 计算广告——读书笔记(一)
  16. 查看手机wifi密码
  17. 2008ESRI用户大会问答之ArcGIS部分
  18. 欧姆龙CK3M与松下A6伺服驱动配置——位置模式
  19. c语言设计(TVI)地铁自动售票机---@颜麓
  20. Python tkinter 布局

热门文章

  1. 云主机实现外网转发访问内网的 Redis 和 MongDB 数据库
  2. Hive更改表名FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. Una ble
  3. java小编程----括号是否匹配
  4. 网络与IO知识扫盲(三):从系统调用的角度,剖析 Socket 的连接过程、BIO 的连接过程
  5. 【Git】撤销已经git add的文件
  6. BJUT算法设计与分析考试真题 无答案
  7. CentOS 6 安装Hadoop 2.6 (四)运行简单例子
  8. git gui怎么拉取项目代码_Git可视化极简易教程 —— Git GUI使用方法
  9. Spring Boot系列二 Spring @Async异步线程池用法总结
  10. Spring Boot + Mybatis多数据源和动态数据源配置