C# 验证Xamarin Forms跨平台应用程序中的密码字段时出现未知异常

C# 验证Xamarin Forms跨平台应用程序中的密码字段时出现未知异常,c#,validation,xaml,xamarin,xamarin.forms,C#,Validation,Xaml,Xamarin,Xamarin.forms,我正在尝试使用以下代码验证文本和密码字段中的空值: if (txtUsername.Text.Trim().Length > 0 && txtPassword.Text.Trim().Length > 0) { //Some code for successful validation } else DisplayAlert("Required Fields Empty", "Please enter username and password.",

我正在尝试使用以下代码验证文本和密码字段中的空值:

if (txtUsername.Text.Trim().Length > 0 && txtPassword.Text.Trim().Length > 0)
{
    //Some code for successful validation
}
else
    DisplayAlert("Required Fields Empty", "Please enter username and password.", "OK");
当我从中删除&&txtPassword.Text.Trim.Length>0时,代码执行得很好。但包含此代码后,将显示以下异常:

An unhandled exception occured.
并且没有提到关于这个例外的其他细节。所以,如果有人能告诉我为什么会发生这种情况,我在哪里可以找到可能包含异常详细信息的日志

更新

在使用try…catch之后,我发现password字段的Text属性为NULL。原因可能是什么?

txtPassword.Text为空。将代码更改为:

if ((txtUsername.Text != null) && (txtPassword.Text != null) && (txtUsername.Text.Trim().Length > 0) && (txtPassword.Text.Trim().Length > 0))

如果希望在其中一个为null的情况下执行else。否则使用try-catch。txtPassword.Text为null的原因应该在初始化或代码中搜索,如果在某个地方设置为null。

使用try/catch来捕获Exception@Jason哦,我是个白痴,我忘了用try-and-catch。谢谢但它显示的是密码字段NULL的文本属性。为什么?可能是因为用户没有输入任何文本?使用String.IsNullOrEmpty而不是测试length@Jason如果是这样的话,那么为什么它在空用户名字段中工作正常?我不知道-也许你正在某个地方初始化它?或者,如果设置了密码选项,行为可能会有所不同?无论如何,在使用对象之前,不应假定它是非空的