【发布时间】:2013-07-26 23:09:53
【问题描述】:
private void ReadText(string text)
{
string add = "http://translate.google.com/translate_tts?tl=ta&q=";
add += HttpUtility.UrlEncode(text, Encoding.GetEncoding("utf-8"));
try
{
using (var client = new WebClient())
{
try
{
client.Headers[HttpRequestHeader.UserAgent] =
"Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1"; }
catch
{
MessageBox.Show("Intenet error");
}
try
{
client.DownloadFile(add, "mp3CriationTest.mp3");
}
catch
{
MessageBox.Show("NAudio Error");
}
}
}
catch (WebException e3)
{
MessageBox.Show("ReadText error: " + e3);
}
}
我正在使用 nAudio 进行谷歌文本转语音(tts)。当我在 Visual Studio 调试(F5)上运行时,这段代码对我来说效果更好。但是当我创建安装文件时,我会收到异常消息“NAudio Error”。所以很明显在我的设置的应用程序文件夹上保存/创建“mp3CiationTest.mp3”存在问题。但是当我使用 Visual Studio 调试(F5)时,在调试文件夹上创建“mp3CiationTest.mp3”可以正常工作。 谁能知道是什么问题?请帮忙。
【问题讨论】:
-
您应该查看捕获的异常的堆栈跟踪,而不是吞下它并通过显示一个字面上什么都不告诉您的消息框来欺骗自己。 ;-)
-
另外,过度使用 try catch 是不好的做法:stackoverflow.com/questions/1722964/…
-
@FabianBigler 好的,谢谢。