πŸš€ РассказываСм ΠΏΡ€ΠΎ Π½ΠΎΠ²Ρ‹Π΅ диагностики

Π‘++ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ, Ρƒ нас ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹Π΅ новости β€” Π² Ρ€Π΅Π»ΠΈΠ·Π΅ 7.34 появилась Π½ΠΎΠ²ΠΎΠ΅ диагностичСскоС ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ V1116.

Оно ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΎ для обнаруТСния ситуаций, ΠΊΠΎΠ³Π΄Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ Π±Π΅Π· ΠΏΠΎΡΡΠ½ΡΡŽΡ‰ΠΈΡ… сообщСний. Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€: `void DoSomething(const char *val) { if (!val) throw std::runtime_error { "" }; }

void Function() { const char *val = ....; try { DoSomething(val); } catch (std::runtime_error &err) { std::cerr << err.what() << std::endl; } }

Π’ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ DoSomething Π² случаС возникновСния ошибки бросаСтся ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ с пустым сообщСниСм, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π·Π°Ρ‚Π΅ΠΌ ΠΏΠΎΠΏΠ°Π΄Ρ‘Ρ‚ Π² std::cerr. Написав Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠΎΠ΄, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ словно оставил ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌ посланиС: "Бчастливой ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ". Π­Ρ‚ΠΎ услоТнит для Π½ΠΈΡ… ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π²Ρ‹Π·Π²Π°Π»ΠΎ сбой.

Π‘ΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ: `if (!val) { throw std::runtime_error { "[DoSomething]: " "the 'val' pointer was nullptr." }; } Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ сообщСниС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ пошло Π½Π΅ Ρ‚Π°ΠΊ.

Π­Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ для стандартного ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ. Для Π²Ρ‹Π΄Π°Ρ‡ΠΈ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠΉ Π½Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΉ.

#cpp #PVS_Studio``
πŸš€ РассказываСм ΠΏΡ€ΠΎ Π½ΠΎΠ²Ρ‹Π΅ диагностики 
Π‘ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ, Ρƒ нас ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹Π΅ новости β€” Π² Ρ€Π΅Π»ΠΈΠ·Π΅ 7.34 появилась Π½ΠΎΠ²ΠΎΠ΅ диагностичСскоС ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ V1116 | Π‘Π΅Ρ‚ΠΊΠ° β€” новая ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ ΡΠ΅Ρ‚ΡŒ ΠΎΡ‚ hh.ru
repost

15

input message

Π½Π°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚

Π΅Ρ‰Π΅ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ Π² этом сообщСствС

Π΅Ρ‰Π΅ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ Π² этом соообщСствС

Π²ΠΎΠΉΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ

ΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ Π½Π° интСрСсных ΠΏΡ€ΠΎΡ„ΠΈ

Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ большС возмоТностСй

ΠΏΠΎΠΊΠ° Π² Π²Π΅Π±-вСрсии Π΅ΡΡ‚ΡŒ Π½Π΅ всё β€” ΠΌΡ‹ вовсю Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ Π½Π°Π΄ Π½Π΅ΠΉ

сСтка β€” cΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ ΡΠ΅Ρ‚ΡŒ для Π½Π΅Ρ‚Π²ΠΎΡ€ΠΊΠΈΠ½Π³Π° ΠΎΡ‚ hh.ru

ΠΏΠ΅Ρ€Π΅ΡΠ΅ΠΊΠ°ΠΉΡ‚Π΅ΡΡŒ с Ρ‚Π΅ΠΌΠΈ, ΠΊΡ‚ΠΎ повлияСт Π½Π° ваш ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ