WebClient.DownloadString の C# で StackOverflowException を取得しているようです。どうやってやったのかわからず、過去3日間起こっているので、現在少し怒っています.
基本的に私が作ったのは、たくさんのページを循環してそこからデータを抽出する Web スクレイパーでした。正確にはリンクです。このコードにヒットすると、問題がランダムに発生します。
try
{
derp = web.DownloadString(site + pageincr);
}
catch (Exception ex)
{
...
Site はスクレイピング元のサイトで、pageincr はそのページまでです。したがって、データを取得して処理し、pageincr が最大ページ セットよりも大きくない場合は、pageincr を増やしてから関数を再度開始します。しかし、最もランダムな瞬間に、エラー「StackOverflowException」で上記のコードの写真で停止します。私が奇妙に感じるのは、それが DownloadString 関数で発生し、ランダムに発生することです。それが実際の StackOverflow である場合、コードはすぐに停止しませんか?
これを防ぐことができる場合は、教えてください。
編集: このコードでそれを止めたようです:
this.Invoke((Action)delegate
{
console.SelectionFont = new Font(console.Font, FontStyle.Bold);
appendConsole("\r\n===[ Page: " + pageincr + " ]===");
console.SelectionFont = new Font(console.Font, FontStyle.Regular);
});
StackOverflowException の場合。これはかなり奇妙になっています。