如果图片框为空,如何获得警告

时间:2017-02-17 14:35:39

标签: c# .net

如何获取此代码的警告消息?

byte[] imageBt = null;
FileStream fstream = new FileStream(this.textBox1.Text, FileMode.Open, FileAccess.Read);
BinaryReader br = new BinaryReader(fstream);
imageBt = br.ReadBytes((int)fstream.Length);

我有一个PictureBox并且它是空的,每次我点击“保存”按钮时都会显示错误:

enter image description here

4 个答案:

答案 0 :(得分:1)

从异常文本开始 - 此错误与pictureBox的空虚无关,但您还没有指定要将数据写入的文件名(因为textBox1不包含任何文字。)

所以添加支票

if (string.IsNullOrEmpty(this.textBox1.Text))
{
  //do whatever you need, show your warning
}

答案 1 :(得分:1)

您在这里使用空路径名称:

new FileStream(this.textBox1.Text, FileMode.Open, FileAccess.Read)

为了防止这种情况,首先检查路径名是否为空:

if (string.IsNullOrWhiteSpace(this.textBox1.Text))
{
    // the input is empty, show an error?
}

基本上,如果出现错误情况,请停止处理请求并将控制返回给用户,并显示某种错误消息。这个 可以像MessageBox()return;一样简单。

答案 2 :(得分:1)

处理用户输入时,应始终对其进行验证以确保其有效。在这种特殊情况下,错误告诉您textBox1.Text值为空。你应该检查一下:

if (String.IsNullOrEmpty(textBox1.Text))
{
    //input is empty, error?
}

当您尝试加载文件时,最好确保该文件存在:

if (!File.Exists(textBox1.Text))
{
    //file doesn't exist, error?
}

与往常一样,可以进行额外的验证检查,例如:

  • 如果提供的字符串是有效路径
  • 如果提供的字符串是文件的有效路径

但是在某些时候你必须画出关于多少支票太多的界限。

答案 3 :(得分:-1)

如果您确实需要错误消息,请将代码包装在try catch块中,如:

try
{
    byte[] imageBt = null;
    FileStream fstream = new FileStream(this.textBox1.Text, FileMode.Open, FileAccess.Read);
    BinaryReader br = new BinaryReader(fstream);
    imageBt = br.ReadBytes((int)fstream.Length);
}
catch(Exception error)
{
}