在我的网络应用程序中存储异常?

发布于 2024-11-28 23:18:08 字数 719 浏览 0 评论 0原文

直到最近,我已经按照如下所示创建并抛出自定义异常:

文件: Myclass.php:

namespace myapp\libraries;

class myclass {

    setEmail($email) {
        if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
             throw new myClassException("Email not valid");
        }
    }

}

class myClassException extends \Exception {}

好的,所以这工作良好,并且易于维护和构建,前提是自定义异常< em>总是存在于同一个文件中,并且在抛出异常的类之后定义。

问题:当前的 PHP 约定和常识是怎么说的?

以下是我能想到的解决方案:

  1. 在将调用/抛出异常的类之后立即声明自定义异常。
  2. 将所有自定义异常存储在名为 customExceptions.php 的相互共享文件中。
  3. 将所有自定义异常存储在一个以其异常 myClassException.php 命名的单独文件中,该文件位于名为 /exceptions 的目录中。

Until recently, I've done as shown below to create and throw custom exceptions:

File: Myclass.php:

namespace myapp\libraries;

class myclass {

    setEmail($email) {
        if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
             throw new myClassException("Email not valid");
        }
    }

}

class myClassException extends \Exception {}

Ok, so this works well and are easy to maintain and build upon, provided that custom exceptions always exists in the same file and are defined after the class which throws the Exceptions.

Question: What does current PHP conventions and common sense say?

Here's the solutions I can think about:

  1. Keep declaring custom Exceptions immediately after the class that will invoke/throw it.
  2. Store all custom Exceptions in a mutually shared file, called customExceptions.php.
  3. Store all custom Exceptions in a separate file named after its exception, myClassException.php, in a directory called /exceptions.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文