Это try catch
в PowerShell 2.0
$urls = "http://www.google.com", "http://none.greenjump.nl", "http://www.nu.nl"
$wc = New-Object System.Net.WebClient
foreach($url in $urls)
{
try
{
$url
$result=$wc.DownloadString($url)
}
catch [System.Net.WebException]
{
[void]$fails.Add("url webfailed $url")
}
}
но то, что я хочу сделать, является чем-то как в c#
catch( WebException ex)
{
Log(ex.ToString());
}
Действительно ли это возможно?
Проверьте PMD , после того, как вы настроили его (что не так просто), можно запустить детектор копирования и вставки для поиска дубликатов кода.
-121--3176623-Имеются различные возможности вывода HTML.
Можно использовать синтаксис heredoc :
$html = <<<EOF
<h1>Rar<h1>
<span>Rar</span>
<p>Rar</p>
EOF
echo $hml;
Или (что на мой взгляд путь лучше), отделить HTML от PHP . Например, поместите всю логику PHP в верхней части файла и HTML после блока PHP:
<?php
// all your PHP goes here
$foo = 'bar'
?>
<!-- HTML comes here -->
<html>
<body>
<div>Hello <?php echo $foo; ?> </div>
</body>
</html>
Переменные могут быть напечатаны, как показано выше. Но эти переменные не содержат HTML.
Если необходимо вывести HTML на основе условия, можно использовать альтернативный синтаксис для управляющих операторов :
<?php if($some_condition): ?>
<h1>Rar<h1>
<span>Rar</span>
<p>Rar</p>
<?php endif ?>
Это путь также проще отлаживать HTML, поскольку это не только PHP последовательности.
-121--2478551-Попробуйте сделать следующее:
try {
$w = New-Object net.WebClient
$d = $w.downloadString('http://foo')
}
catch [Net.WebException] {
Write-Host $_.Exception.ToString()
}
Исключение находится в переменной $ _
. Вы можете исследовать $ _
так:
try {
$w = New-Object net.WebClient
$d = $w.downloadString('http://foo')
}
catch [Net.WebException] {
$_ | fl * -Force
}
Я думаю, что это даст вам всю необходимую информацию.
Мое правило: если некоторые данные не отображаются, попробуйте использовать -force
.