我看到另一个开发人员编写的代码看起来像这样:
var stringBuilder = new StringBuilder(); if(stringBuilder == null) { // Log memory allocation error // ... return; }
(这是代码中的所有地方)
问题1:
该错误记录代码甚至会被调用吗?如果没有内存,那么第一行上是否会抛出System.OutOfMemoryException?
解决方法
你是对的,而且代码错了.它会在失败时抛出OutOfMemoryException.这在
the documentation中很清楚:
“If the new operator fails to allocate
memory,it throws the exception
OutOfMemoryException.”