当Windows上的Visual C++断言失败时,调试器将停止,显示消息,然后允许您继续(或者,如果没有正在运行的调试会话,则提供启动visual studio )。在Linux上,assert()的默认行为似乎是显示错误并退出程序。因为我所有的断言都是通过宏实现的,所以我尝试使用信号来解决这个问题,比如但是,尽管
1.)首先,我检查数据库中是否存在提供的电子邮件地址,如果没有,我将显示一个通用错误消息Invalid e-mail address or password.并退出。注意,错误消息没有指定电子邮件不存在.
2.)然后检查存储在数据库中的failed_logins是否大于5,如果大于5,则显示错误消息User has been locked out due to e