在一些库中,通常的做法是为每个错误条件制作自定义异常类,例如:
class FileNotFound_Exception extends Exception {}
您可以处理某些类型的异常,但是您无法阅读所有库的所有源代码来记住每个异常类,也无法充分利用使用自定义异常。大多数时候我只是用基本异常类来捕获它们:
catch (Exception $e)
{
// log and display friendly error
}
是否有其他方法可以利用自定义异常类,而无需编写长长的 catch block 列表? 我喜欢异常,但不知道如何正确使用它们。谢谢。
最佳答案
拥有自己的异常类的好处是,作为库的作者,您可以捕获并处理它。
try {
if(somethingBadHappens) {
throw MyCustomException('msg',0)
}
} catch (MyCustomException $e) {
if(IcanHandleIt) {
handleMyCustomException($e);
} else {
//InvalidArgumentException is used here as an example of 'common' exception
throw new InvalidArgumentException('I couldnt handle this!',1,$e);
}
}
关于php - 在 php 中使用自定义异常类有什么意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3735079/