You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

输入错误用户名密码时触发System.NullReferenceException异常如何解决

空引用异常原因

输入错误用户名密码时,数据库无匹配查询结果,存在两种可能触发异常:

  1. 数据库返回的res对象本身为null,调用res.ResultAs方法时触发空引用
  2. res对象存在,但ResultAs<RegLog>()方法在无匹配数据时内部逻辑抛出空引用异常
可行解决方案
  • 先增加res空值校验,再执行类型转换,无结果时直接走账号密码错误的处理逻辑
    代码示例:
RegLog reuser = null;
if (res != null)
{
    reuser = res.ResultAs<RegLog>();
}

// 空值代表无匹配用户,处理错误逻辑
if (reuser == null)
{
    // 此处添加用户名或密码错误的业务处理逻辑
    return;
}
  • 若res不为空仍报错,说明ResultAs<T>方法内部存在空引用问题,可替换为安全的手动转换逻辑
    代码示例:
// ?. 运算符会在res为null时直接返回null,避免抛出异常
var rawResult = res?.RawResult;
RegLog reuser = rawResult as RegLog;
  • 注意:将变量声明改为var无法解决该问题,var仅为编译期类型推断语法糖,不会改变运行时的空值逻辑。

内容的提问来源于stack exchange,提问作者all123

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 20:15:01