验证类 - 应该返回 false 还是抛出异常?

2024-01-22

我正在创建一个验证字符串的类。字符串无法通过的原因有很多。

抛出异常或返回错误/错误代码更有意义吗?优点缺点?


验证器不应抛出异常,因为验证器失败并不是“异常”事件。

如果代码的其余部分收到错误数据,则应抛出异常。

当您运行验证器函数时,您显然已准备好处理通过简单测试检测到的任何问题。将所有内容包装在 try/catch 块中并停止所有执行只是为了尝试恢复是矫枉过正的。只需使用 and if 语句,并准备向用户显示一些错误消息。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

验证类 - 应该返回 false 还是抛出异常? 的相关文章

  • Cakephp - CSRF 令牌不匹配

    我在 Cakephp 3 6 中有一个项目 其中 MessageController 中的 3 个操作由 Ajax 调用 但是 我有一个问题 当我向其中一个操作发送请求时 XHR 会向我返回以下内容 message CSRF token m
  • 创建动态子域

    自从我考虑一些网站正在实施的此功能以来已经有一段时间了 它看起来非常成功 类似的网站tumblr com blogger com wordpress com允许用户使用简单的 HTML PHP 表单从网站内注册新的子域名 以我目前对 PHP
  • 如何使用 zend 导入 CSV

    如何使用 zend 框架导入 CSV 文件 我应该使用 zend file transfer 还是有任何我必须研究的特殊类 另外 如果我使用 zend file transfer 是否有任何特殊的 CSV 验证器 你不必使用任何 zend
  • 列出某个类的所有对象

    好的 我的问题如下 我有一个用这个构造函数描述宠物的类 public function construct name type age 所以我想做的是制作一些宠物对象 然后我想打印这个类的所有对象的所有属性 这样它看起来像this http
  • PHP和.htaccess认证解决方案

    这是布局 web root admin dir index php js img other files dirs dir files 到目前为止 我使用 htaccess passwd 保护管理目录 因为我希望对该目录中的所有文件 包括
  • 如何动态创建新属性

    如何从对象方法内的给定参数创建属性 class Foo public function createProperty var name val here how can I create a property named var name
  • 我们在哪里/什么时候使用 JSON?

    你能告诉我 JSON 有什么用 在 Javascript 和 PHP 中 当我们需要 JSON 方法时 我从以下链接中阅读 但是 我没有获得有关任何项目的 JSON 实现的任何信息 http www json org js html htt
  • 使用 php 和 sendmail 发送有关测试 docker 容器的电子邮件

    我用的是ubuntu 16 04 我有一个 测试 docker docker compose 容器运行 php 5 6 和 apache 2 4 在生产平台 没有docker 上 邮件是通过sendmail发送的 如何在docker容器上发
  • Zend Framework 2 在视图中显示视图

    我有两个模块管理和登录 我想在管理视图 index html 中显示登录视图 login phtml 我在管理模块indexAction控制器中有以下内容 public function indexAction login new Logi
  • laravel 5:找不到类“输入”

    In my routes php我有的文件 Route get function return view login Route get index function return view index Route get register
  • 捕获动态表中 HTML 元素的值

    我有从数据库生成的以下动态表
  • 通过另一个二维数组中的行过滤二维数组的行

    我有两个数组 我正在使用array diff assoc 以获得差异 但它总是返回common set结果中的行 它应该返回new q sets排 我的方法有什么问题吗 样本数据 array1 12 gt new q sets 11 gt
  • 如何找到 httpd.conf 文件所在的位置?

    如何找到 apache PHP 上 httpd conf 文件的路径 我不知道我的脚本是否会在Windows apache或Linux中运行 我需要知道在哪里可以找到这个文件 以便从那里找到参数 谢谢 我认为它没有接触 PHP 跑步http
  • PHP mysql_num_rows 死错误

    我想创建一个页面 用户可以在其中添加他们的信息 我已经创建了该页面 但我真正的问题是代码 我有一些问题 这部分代码
  • PHP:从 POP3 或 IMAP 下载传入电子邮件,解析它,并将其标记为服务器上的已读/删除

    我正在尝试将传入电子邮件添加到我的网络应用程序中 它是基于 CodeIgniter 和 PHP 构建的 据我所知 我还没有找到任何 CI 库来执行此操作 我想要做的是有一个控制器通过 POP3 或 IMAP 连接到我的邮箱 并检索消息 解析
  • 从数据库中给定时间起经过的时间

    我有一个 HTML 表 其中包含从数据库中提取的记录 我正在使用 PHP MySQL 我的表中名为 Timer 的列未从数据库中检索 我需要在此处显示经过的时间 从数据库中的特定时间开始 例如 假设现在的时间是2013年2月21日下午6点2
  • 下载表格 - 选择文件合并到 Zip 中

    我希望创建一个表单 用户可以从手册列表中进行选择 总共10个 他们可能只想下载 3 份小册子 或 6 份 或 1 份 或 9 份小册子 但想法是他们选择所需的小册子 然后用脚本组合一个包含所需小册子的 zip 文件 任何人都可以提出任何建议
  • 创建具有动态更新变量的数组

    我有一些 PHP 变量 它们的名称直接链接到它们包含的函数 是否有办法自动创建这些变量 以便我可以使用所有变量 00 200 这就是我现在正在做的事情 regdays00 is user reg matured 00 regdays02 i
  • cakephp 3.0 如何使用值而不是 id 填充选择字段

    我一直在寻找以前的答案 但我找到的答案与旧的 cakephp 版本有关 我有两个表 杂志 和 问题 其中存在关系 问题 属于 杂志 问题表如下所示 public function initialize array config this g
  • 未加载 Firebird 扩展

    我正在尝试在 PHP 中使用 Firebird 扩展 我有扩展文件 php pdo firebird dll php interbase dll in my ext文件夹 我将它们添加到我的php ini像这样文件 PHP PDO FIRE

随机推荐

  • 如何使用网络音频 API 播放声音文件 Safari?

    我正在修改一个脚本来播放我在 Codepen 上找到的 mp3 以使其能够在 Safari 上运行 在 Firefox 和 Chrome 中它工作正常 但 Safari 抱怨 未处理的承诺拒绝 类型错误 没有足够的参数 索引 html 25
  • 尝试安装biopython后Conda返回未找到属性错误符号

    我正在尝试让biopython工作 似乎我在这个过程中破坏了conda 此时 将显示 conda 的帮助菜单 并且conda version回报conda 4 7 5但其他任何事情包括conda info抛出错误AttributeError
  • 在树枝中显示货币符号

    如何在树枝中显示货币符号 我保存了符号的数值 例如 for EURO 8364 for DOLLAR 36 当我渲染这些值时 被转换为 amp 并且货币符号不显示 任何想法将不胜感激 谢谢 为了做得好 你必须添加一个function htt
  • 使用knitr生成复杂的动态文档

    最小的可重现的示例 RE 下面是我尝试弄清楚如何使用knitr用于生成复杂的动态文档 这里的 复杂 不是指文档的元素及其布局 而是指非线性逻辑底层 R 代码块 虽然提供的 RE 及其结果表明solution 基于这种方法可能效果很好 我会喜
  • 如何使用 Jenkins Workflow 插件进行 SCM 轮询

    在普通的自由式项目中 我将 SCM 插件配置为指向我想要发布的 Git 存储库 并启用 轮询 SCM 选项 这允许我配置一个 Stash webhook 来告诉 Jenkins 每当有更改时到那个仓库 这样 只要将更改推送到存储库 就可以触
  • 我可以在 Microsoft hyper-v 虚拟机中运行 Android Studio(Android SDK 模拟器)吗?

    我可以在 Microsoft hyper v 虚拟机中运行 Android Studio 和 Android SDK 模拟器吗 请仔细阅读 我已经经常将 Hyper V 用于其他目的 现在我需要开发一个Android应用程序 我已经安装了新
  • 一天地理编码服务调用次数过多

    我在使用 google 地图地理编码功能时收到此错误消息 据我所知 当我超过一天 2500 个请求的免费限制时 就会发生这种情况 不过 我已经设置了一个计费选项来为额外的请求支付额外费用 但我仍然收到此错误 当我设置账单时 它要求我创建一个
  • 共享服务中的私有主题与公共只读主题

    我已经开始开发一个 Angular 8 项目 其中两个兄弟组件必须交换数据 到目前为止 方法是在父服务中拥有一个 EventEmitter 然后 子组件调用这些发射器上的发射方法 将数据传递给其他同级组件 这是一个示例案例 共享服务 不好
  • Jekyll 帖子未生成

    我正在尝试向 Jekyll 网站添加新帖子 但运行时无法在生成的页面上看到它jekyll serve 无法生成 Jekyll 帖子的常见原因有哪些 该帖子未放置在 posts 目录 当您更改collections dir在你的配置中 默认
  • 我的 docker 容器有多少个 CPU?

    我正在编写一个并行运行的库 该库经常在 docker 容器中使用 我想启动与我的 docker 容器分配的核心一样多的线程 docker 是否将 CPU 限制设置为环境变量 例如 如果我的用户在创建容器时设置了两个 CPU docker r
  • 使用 Scala 新动态类型的动态代理

    是否可以使用 Scala 新的动态类型功能创建类似 AOP 的拦截器 例如 是否可以创建一个通用的秒表拦截器 可以与任意类型混合来分析我的代码 或者我仍然需要使用 AspectJ 吗 我相当确定Dynamic仅当您选择的对象尚不具有您选择的
  • 在 Sencha Touch 中禁用轮播过度滚动/过度拖动

    在 Sencha Touch 2 轮播的末尾或开头 用户可以将项目拖过它应该能够到达的位置并显示白色背景 此处的屏幕截图 https i stack imgur com i10Ak png https i stack imgur com i
  • 在 python 3 中解析 .docx

    我目前正在编写一个 python 3 程序 该程序可以解析某些 docx 文件并从中提取文本和图像 我一直在尝试使用docx https github com mikemaccana python docx但它不会导入到我的程序中 我已经安
  • 在 Android 版 Phonegap 中调用 SOAP Web 服务

    我想打电话SOAP网络服务在Phonegap Android 我已经尝试过这段代码但是在回复文字有未定义和Status Error
  • JPA (Hibernate) 列映射中的原始类和包装类有什么区别?

    例如 数据库表中有一个整数列 然后在java模型中 它可以映射为原始整数 and Integer 我的问题是在这种情况下 int 和 Integer 有什么区别 以及性能问题 谢谢 我倾向于避免使用原语 对于 Id 属性尤其如此 这使得可以
  • LiquibasegenerateChangeLog 失败:Java 堆空间

    当我尝试从 DB2 数据库生成 SQL 数据时 遇到 Java 堆空间问题 大约有 25 个表 大约 1000 条记录 我使用以下脚本生成变更集数据 C liquibase 3 0 2 bin gt liquibase driver com
  • 多个超级用户命令 Android

    我正在尝试运行这个 String hin1 su c mount o remount rw t yaffs2 dev block mtdblk3 system try Runtime getRuntime exec hin1 catch I
  • 在数据表中启用滚动 X 时禁用底部搜索

    我正在尝试数据表中的数据显示https datatables net https datatables net i can show data from MYSQL to Datatables but i want column in da
  • Spring Boot 1.4、Spock 和 application.properties

    我正在尝试使用 Spock 为我的 Spring Boot 1 4 0 编写一些测试 但我的 application test properties 文件没有被拾取 我的 gradle 中有这个 dependencies compile o
  • 验证类 - 应该返回 false 还是抛出异常?

    我正在创建一个验证字符串的类 字符串无法通过的原因有很多 抛出异常或返回错误 错误代码更有意义吗 优点缺点 验证器不应抛出异常 因为验证器失败并不是 异常 事件 如果代码的其余部分收到错误数据 则应抛出异常 当您运行验证器函数时 您显然已准