2017年11月23日木曜日

PHP 例外がとらえられない

WindowsのPHP 5.4で、例外がとらえられず、困っています。

$strには、文字列で、式を与えます。例えば、"!(false && true)|| false "

try{
   $ret = eval("return (" . $str ");");
}catch(Exception $ex){
   $ret = false;

}

$strが正しく評価できる文字列であれば、問題ありません。
評価できない場合、PHP5.4では、evalがfalseを返すはずですが、例外が発生します。
参考までに、PHP7では、ParseErrorが発生します。

@evalとしても、例外が発生します。
例外が発生するならば、catchでとらえられるはずですが、とらえられずに困っています。


2017年11月15日水曜日

MFC-J6570CDW 寿命

A3インクジェット複合機の「MFC-J6570CDW」を使っていますが、寿命がきたようです。
電源が入らなくなりました。
正確には、電源ボタンを押しながら、コンセントにプラグを差すと動きます。

この不具合は、メーカーも分かっているようで、ファームウェアを特別なものに書き換えることで、改善されるそうです。
その代わり、電源が切れなくなります。

この症状から想像するに、メモリの書き換え頻度が、メーカーの想定を超えてしまい、メモリが読み書きできなくなった(壊れた)のではないかと思います。
全く別の製品ですが、以前、このような原因で、リコールを行ったメーカーがありますから。

MFC-J6570CDWですが、他にレーザープリンタがあるため、使用頻度は高くありません。
FAX送信、ファイルのスキャンが主な用途になっています。

これだけなら、少し安価なA4複合機に買い換えれば十分ですが、いざというときの、A3スキャンと、コピーが魅力的なため、結局、MFC-J6570CDWの後継になりそうです。
レーザープリンタの方も、5年以上使っているため、できれば、1台に集約したいところですが、レーザープリンタのA3複合機は、高すぎて手が出ません。

さて、いまさらですが、MFC-J6570CDWの使用感を。

メリットは、A3サイズのスキャンができることです。
A4サイズの雑誌を見開きで、スキャンできます。
ほぼ使わないとはいえ、いざというとき、A3サイズの印刷ができるのも良い点です。

デメリットは、使わなくても、インクが減っていくことです。
自動的に、インクのクリーニングが行われるようです。それでも、使っていないと、目詰まりを起こしますが。
自動的に、インクのクリーニングが行われるため、電源を切った状態でも、一定の消費電力が必要で、完全にオフにするには、コンセントを抜くしかありません。
もっとも、電源を切った状態では、実測で、1W未満ですし、気にすることはありません。

もっとも、不満に感じる点は、低温では動作しないことです。
メーカーでは、10度以上を動作保証としていますが、数年使った現在では、15度ぐらいないと、正常に動作しません。
特に、スキャンが動かないため、FAXの送信に支障をきたしています。
これからの季節、朝の室温は、10度を切りますから、朝、FAXを送信することはできません。

もうひとつの不満は、封書の印刷が、実質、使い物になりません。
エプソンのプリンタなどは、封書は、下から入れることで、郵便番号の枠までの長さが一定になるように工夫されています。一方で、この機種は、上から入れるようになっているため、郵便番号の枠までの長さが合わず、綺麗に印刷できません。

これらの欠点が改善されるなら、後継機に買い換えるのですが、とりあえず、上記の特殊なファームウェアを入れて、延命しようと思います。