ホーム » コンピュータ » Linux » Debian » 自作スクリプトのエラー対策 try-catch

システム

最近の投稿

アーカイブ

カテゴリー

自作スクリプトのエラー対策 try-catch

自宅で動かしているスクリプト、自前だから手抜きもあって、サーバトラブル時には他の機器が巻き込まれてエラーが増えることも多い。自室の homebridge などを動かしている Raspberry-Pi が暑さもあってか、再起動させたら一時的に気絶。復旧は問題なかったけど、気絶中に他の外気温測定のRaspberry-Pi がブローカーとなっている Raspberry-Pi が落ちているため、MQTT のデータ送信に失敗のエラーを出してる。

ちゃんと、connect で出るエラーを try-except で例外処理を追加した。

try :
  client = mqtt.Client( ... )
  client.connect( BROKER )

  client.publish( ... )
except ValueError as err :
  print( err )
except OSError as err :
  print( err )

以前から、トラブル時にウザいのが、Perl で書かれた RSS 情報をまとめるスクリプト。Perl での try-catch もどきということで eval{} if ( $@ ) … でエラー対策してるつもりなんだけどトラブル時のエラーがうまく動いていないような。今回あらためて、Perl try-catch で検索したら、Perl 5.34 で try-catch が実験的にサポートされているらしいので使ってみた。

use feature qw( try ) ;
no warnings "experimental::try" ;
:
try {
  $feed->merge( $rss ) ;
} catch( $e ) {
  print "catch $e" ;
}
# eval { $feed->merge( $rss ) ; } ;
# if ( $@ ) {
#    warn "..." ;
# }

Google 検索

My Google   Yahoo

Microsoft

ファンサイト