【发布时间】:2013-03-31 00:07:45
【问题描述】:
我希望能够在我的 php 类中抛出一个致命的、无法捕获的错误,因为我的类的用户滥用它来做我不打算做的事情。我不希望他/她能够通过 catch 子句恢复。
我知道trigger_error,但我只能让它发出警告或通知。
【问题讨论】:
-
何必呢?谁在实现你的课程: 1. 是一名程序员。 2. 可以访问源。 3. 可以并且很可能会删除
trigger_error()调用。 -
@Sammitch:我想明确我的意图。我想让任何使用我的代码的人知道他们所做的并不是我打算让他们使用它的方式。对我来说,抛出异常会发送消息“你处理这种未定义的行为”。我想发送消息:“不要那样做,而是那样做”。
-
示例库。例如,如果某些条件不成立,您绝对不应该做某事。 (对不喜欢阅读文档的人有用:P)
-
@bwoebi:正是我的情况;-)
-
我意识到这是一个 7 年前的问题,但即便如此,有人可能会遇到它。您认为异常将消息发送给程序员以处理未定义行为的想法是完全错误的。这不是例外的意思。程序员会这样想的唯一方法是,如果他们对编程一无所知,或者他们做出随机和疯狂的假设。例外只是更清洁。同样触发错误并不意味着他们无法从中恢复。他们仍然可以以与异常处理类似的方式使用错误处理。
标签: php fatal-error