Почему нет доступа к Task.Result для исключения, но Task.get_Result () делает? [Дубликат]

Я хотел изменить цвет на определенный уровень яркости - независимо от того, какой яркостью был цвет раньше - вот простая функция JS, которая, кажется, работает хорошо, хотя я уверен, что она может быть короче

function setLightPercentage(col: any, p: number) {
    const R = parseInt(col.substring(1, 3), 16);
    const G = parseInt(col.substring(3, 5), 16);
    const B = parseInt(col.substring(5, 7), 16);
    const curr_total_dark = (255 * 3) - (R + G + B);

    // calculate how much of the current darkness comes from the different channels
    const RR = ((255 - R) / curr_total_dark);
    const GR = ((255 - G) / curr_total_dark);
    const BR = ((255 - B) / curr_total_dark);

    // calculate how much darkness there should be in the new color
    const new_total_dark = ((255 - 255 * (p / 100)) * 3);

    // make the new channels contain the same % of available dark as the old ones did
    const NR = 255 - Math.round(RR * new_total_dark);
    const NG = 255 - Math.round(GR * new_total_dark);
    const NB = 255 - Math.round(BR * new_total_dark);

    const RO = ((NR.toString(16).length === 1) ? "0" + NR.toString(16) : NR.toString(16));
    const GO = ((NG.toString(16).length === 1) ? "0" + NG.toString(16) : NG.toString(16));
    const BO = ((NB.toString(16).length === 1) ? "0" + NB.toString(16) : NB.toString(16));

    return "#" + RO + GO + BO;}
2
задан Ryan 19 September 2013 в 19:41
поделиться

1 ответ

При использовании синтаксиса свойств PowerShell поймает все исключения. Если вы хотите увидеть исключения, вам нужно будет использовать синтаксис метода. Например, вместо:

$web.SiteUsers

Вы использовали бы:

$web.get_SiteUsers()

Было бы неплохо, если Set-StrictMode разрешил бы исключения, но это не так.

Основная причина такого поведения связана с форматированием. Существует много часто используемых свойств, которые генерируют исключения с использованием форматирования по умолчанию и загромождают вывод сообщениями об ошибках.

Это говорит о том, что PowerShell кажется разумным только исключать исключения форматирование. Вы можете использовать сайт Microsoft Connect для предоставления обратной связи. Например, этот пункт жалуется на эту точную проблему: http://connect.microsoft.com/PowerShell/feedback/details/533233/exceptions-thrown-in-property-getters-are-silently-ignored

3
ответ дан Jason Shirk 26 August 2018 в 22:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: